Rok po vydaní Perl 5.28.0 sa uskutočnilo vydanie Perl 5.30.0.
Dôležité zmeny:
- Pridaná podpora Unicode verzií 11, 12 a beta verzie 12.1;
- Horný limit „n“, nastavovaný v kvantifikátore regulárneho výrazu vo forme „{m, n}“, bol zdvojnásobený na 65534;
- Metasymboly v špecifikáciách hodnôt vlastností Unicode sú teraz čiastočne podporované;
- Pridaná podpora qr’N{name}’;
- Teraz je možné skompilovať Perl, aby vždy používal vlákna bezpečné operácie localitu;
- Obmedzená dĺžka premennej pri porovnávaní s regulárnym výrazom je teraz experimentálne podporovaná;
- Teraz sa používa rýchlejšia metóda na prevod do UTF-8;
- Turecké lokality UTF-8 sú teraz podporované bez problémov;
- Vylúčené použitie makra opASSIGN z jadra;
Funkcionalita, ktorá bola odstránená, a nekompatibilné zmeny:
- Odstránené moduly: Math::BigInt::CalcEmu, arybase, Locale::Code, B::Debug;
- Oddelovače vzorov musia byť teraz grafémami;
- Oddelovače musia byť teraz grafémami;
- Niektoré predtým zastarané spôsoby použitia neopravenej ľavej zátvorky „{“ v vzorcoch regulárnych výrazov sú teraz zakázané;
- Priradenie nenulovej hodnoty premennej $[ (index prvého prvku poľa) je teraz fatálne;
- Predtým zastarané sysread()/syswrite() pri spracovaní :utf8 sú teraz fatálne.
- my() v nepravdivých podmienkach je teraz zakázané;
- $* (premenná sa používala na aktiváciu hľadania viacerých zhôd a bola odstránená v Perl v5.10.0) a $# (premenná sa používala na formátovanie vypísaných čísel a bola odstránená v Perl v5.10.) sa považujú za zastarané;
- Nekvalifikované použitie dump(); sa považuje za zastarané;
- Odstránená File::Glob::glob();
- pack() už nemôže vracať neplatný UTF-8;
- Akýkoľvek súbor číslic v bežnom skripte je povolený v skripte, ktorý vykonáva iný skript;
- JSON::PP predvolene zahŕňa allow_nonref;
Zastaraný funkcionalita:
- Teraz nie je možné v kóde XS používať rôzne makrá, ktoré spracovávajú UTF-8;
Zdroj: linux.org.ru

