Gadu pēc Perl 5.28.0 izlaišanas notika izlaišana Perl 5.30.0.
Svarīgas izmaiņas:
- Pievienots atbalsts Unicode versijām 11, 12 un melnrakstam 12.1;
- Augšējā robeža "n", kas norādīta regulārās izteiksmes kvantatorā formā "{m, n}", ir dubultota līdz 65534;
- Unikoda rekvizītu vērtību specifikācijās tagad tiek daļēji atbalstītas metarakstzīmes;
- Pievienots qr'N{name}' atbalsts;
- Perl tagad var kompilēt, lai vienmēr izmantotu lokalizācijas pavedienu drošas darbības;
- Tagad eksperimentāli tiek atbalstīts ierobežots mainīgais garums salīdzinājumā ar regulārās izteiksmes modeli;
- Tagad tiek izmantota ātrāka metode konvertēšanai uz UTF-8;
- Turku UTF-8 lokalizācijas tagad tiek atbalstītas bez problēmām;
- No kodola noņemta makro opASSIGN izmantošana;
Noņemtā funkcionalitāte un nesaderīgas izmaiņas:
- Noņemtie moduļi: Math::BigInt::CalcEmu, arybase, Locale::Code, B::Debug;
- Rakstu atdalītājiem tagad vajadzētu būt grafēmām;
- Atdalītājiem tagad vajadzētu būt grafēmām;
- Dažas iepriekš novecojušas kreisās iekavas “{” bez atsoļa izmantošana regulārās izteiksmes modeļos tagad ir aizliegta;
- Vērtības, kas nav nulle, piešķiršana $[ (pirmā masīva elementa indeksam) tagad ir liktenīga;
- Iepriekš novecojis sysread()/syswrite(), apstrādājot :utf8, tagad ir liktenīgs.
- my() viltus apstākļos tagad ir atspējots;
- Novecojis $* (mainīgais, ko izmanto, lai iespējotu vairākrindu saskaņošanu, un tika noņemts Perl v5.10.0) un $# (mainīgais, ko izmanto izvades numuru formatēšanai un tika noņemts Perl v5.10.);
- Dump() nekvalificēta izmantošana ir novecojusi;
- Noņemts fails::Glob::glob();
- pack() vairs nevar atgriezt nederīgu UTF-8;
- Jebkura skaitļu kopa vispārējā skriptā ir derīga skriptā, ko izpilda cits skripts;
- JSON::PP pēc noklusējuma ietver allow_nonref;
Novecojusi funkcionalitāte:
- Jūs vairs nevarat izmantot dažādus makro, kas apstrādā UTF-8 XS kodā;
Avots: linux.org.ru