La un an după lansarea lui Perl 5.28.0, lansarea a avut loc Perl 5.30.0.
Modificări importante:
- S-a adăugat suport pentru versiunile Unicode 11, 12 și draft 12.1;
- Limita superioară „n” dată în cuantificatorul expresiei regulate de forma „{m, n}” a fost dublată la 65534;
- Metacaracterele din specificațiile valorii proprietății Unicode sunt acum parțial acceptate;
- S-a adăugat suport pentru qr'N{name}';
- Perl poate fi acum compilat pentru a utiliza întotdeauna operațiuni locale sigure pentru fire;
- Lungimea variabilă limitată versus modelul de expresie regulată este acum acceptată experimental;
- Acum este folosită o metodă mai rapidă pentru a converti în UTF-8;
- Localitățile UTF-8 turcești sunt acum acceptate fără probleme;
- S-a eliminat utilizarea macrocomenzii opASSIGN din nucleu;
Funcționalitate care a fost eliminată și modificări incompatibile:
- Module eliminate: Math::BigInt::CalcEmu, arybase, Locale::Code, B::Debug;
- Separatorii de modele ar trebui să fie acum grafeme;
- Separatoarele ar trebui să fie acum grafeme;
- Unele utilizări depreciate anterior ale parantezei din stânga fără escape „{” în modelele de expresii regulate sunt acum interzise;
- Atribuirea unei valori diferite de zero lui $[ (indexul primului element de matrice) este acum fatală;
- Sysread()/syswrite() depreciat anterior la manipularea :utf8 este acum fatal.
- my() în condiții false este acum dezactivat;
- Depreciat $* (variabilă folosită pentru a activa potrivirea multilinie și a fost eliminată în Perl v5.10.0) și $# (variabilă folosită pentru a formata numerele de ieșire și a fost eliminată în Perl v5.10.);
- Utilizarea necalificată a dump() este depreciată;
- Fișier eliminat::Glob::glob();
- pack() nu mai poate returna UTF-8 invalid;
- Orice set de numere dintr-un script general este valabil într-un script executat de un alt script;
- JSON::PP include implicit allow_nonref;
Funcționalitate depreciată:
- Nu mai puteți utiliza diverse macrocomenzi care gestionează UTF-8 în codul XS;
Sursa: linux.org.ru

