Rok po vydaní Perlu 5.28.0 prebehlo vydanie Perl 5.30.0.
Dôležité zmeny:
- Pridaná podpora pre Unicode verzie 11, 12 a návrh 12.1;
- Horná hranica "n" uvedená v kvantifikátore regulárneho výrazu v tvare "{m, n}" bola zdvojnásobená na 65534;
- Metaznaky v špecifikáciách hodnoty vlastností Unicode sú teraz čiastočne podporované;
- Pridaná podpora pre qr'N{meno}';
- Perl je teraz možné skompilovať tak, aby vždy používal operácie bezpečné pre vlákna;
- Obmedzená variabilná dĺžka oproti vzoru regulárneho výrazu je teraz experimentálne podporovaná;
- Na prevod do UTF-8 sa teraz používa rýchlejšia metóda;
- Lokálne nastavenia Turkic UTF-8 sú teraz podporované bez problémov;
- Z jadra bolo odstránené použitie makra opASSIGN;
Funkcia, ktorá bola odstránená a nekompatibilné zmeny:
- Odstránené moduly: Math::BigInt::CalcEmu, arybase, Locale::Code, B::Debug;
- Oddeľovače vzorov by teraz mali byť grafémy;
- Oddeľovače by teraz mali byť grafémy;
- Niektoré v minulosti zastarané použitia ľavej zátvorky „{“ bez špeciálnych znakov vo vzoroch regulárnych výrazov sú teraz zakázané;
- Priradenie nenulovej hodnoty $[ (index prvého prvku poľa) je teraz fatálne;
- Predtým zastarané sysread()/syswrite() pri spracovaní :utf8 je teraz fatálne.
- my() v nepravdivých podmienkach je teraz vypnuté;
- Zastarané $* (premenná používaná na povolenie viacriadkového párovania a bola odstránená v Perl v5.10.0) a $# (premenná používaná na formátovanie výstupných čísel a bola odstránená v Perl v5.10.);
- Nekvalifikované použitie dump() je zastarané;
- Odstránený súbor::Glob::glob();
- pack() už nemôže vrátiť neplatné UTF-8;
- Akákoľvek množina čísel vo všeobecnom skripte je platná v skripte vykonávanom iným skriptom;
- JSON::PP štandardne obsahuje allow_nonref;
Zastaraná funkcia:
- V kóde XS už nemôžete používať rôzne makrá, ktoré spracovávajú UTF-8;
Zdroj: linux.org.ru