Aasta pärast Perl 5.28.0 väljaandmist tuli Perl 5.30.0.
Olulised muudatused:
- Toetatakse Unicode versioone 11, 12 ja beetaversiooni 12.1;
- Regulaaravaldiste kvantifikaatorites vormis „{m, n}” määratud ülemine piir „n” kahekordistati 65534-ni;
- Unicode omaduste väärtuste spetsifikatsioonides metasümbolite tugi on nüüd osaliselt olemas;
- Toetatakse qr’N{name}’; kasutamist;
- Perli võib nüüd kompileerida nii, et see kasutab alati voogude turvalisi kohalikke operatsioone;
- Regulaaravaldiste mustriga sobitamisel toetatakse nüüd katseteenistuse lõpp-pikkust;
- Nüüd kasutatakse kiiremat meetodit UTF-8 konverteerimiseks;
- Türgi UTF-8 lokaalid toetavad nüüd probleemideta;
- Koodi peast on eemaldatud opASSIGN makro kasutamine;
Eemaldatud funktsioonid ja kokkusobimatud muudatused:
- Eemaldatud moodulid: Math::BigInt::CalcEmu, arybase, Locale::Code, B::Debug;
- Musterdelimeetrid peavad nüüd olema grafemid;
- Eraldajad peavad nüüd olema grafemid;
- Mõned varasemad vananenud viisid, kuidas kasutada mitteekraanitud vasakut sulgu „{” regulaaravaldiste mustrites, on nüüd keelatud;
- Muutujale $[ (massiivi esimese elemendi indeks) mitte-null väärtuse määramine on nüüd kriitiline;
- Varem aegunud sysread()/syswrite() UTF-8 töötlemise puhul on nüüd kriitilised.
- my() valeolukordades on nüüd keelatud;
- Aegunud on $* (muutujat kasutati mitmerealiste vastete otsimisel ja see eemaldati Perl v5.10.0) ja $# (muutujat kasutati väljundite numbrite vormindamisel ja see eemaldati Perl v5.10.);
- Tühja dump(); määratlemine loetakse aegunuks;
- File::Glob::glob(); on eemaldatud;
- pack() ei saa enam tagastada vale UTF-8;
- Iga numbriseade on üldises skriptis lubatud teises skriptis käivitamisel;
- JSON::PP sisaldab vaikimisi allow_nonref;
Aegunud funktsionaalsus:
- Nüüd ei saa XS koodis kasutada erinevaid makrosid, mis töötlevad UTF-8;
Allikas: linux.org.ru

