Aasta pärast Perl 5.28.0 väljaandmist toimus väljalase Perl 5.30.0.
Olulised muudatused:
- Lisatud tugi Unicode'i versioonidele 11, 12 ja mustandile 12.1;
- Vormi "{m, n}" regulaaravaldise kvantoris antud ülempiir "n" on kahekordistunud 65534-ni;
- Unicode'i atribuutide väärtuse spetsifikatsioonide metamärgid on nüüd osaliselt toetatud;
- Lisatud qr'N{name} tugi;
- Perli saab nüüd kompileerida nii, et see kasutaks alati lokaadi lõimekindlaid toiminguid;
- Piiratud muutuva pikkusega võrreldes regulaaravaldise muster on nüüd eksperimentaalselt toetatud;
- Nüüd kasutatakse UTF-8 teisendamiseks kiiremat meetodit;
- Türgi UTF-8 lokaate toetatakse nüüd probleemideta;
- Eemaldas tuumast makro opASSIGN kasutamise;
Eemaldatud funktsionaalsus ja ühildumatud muudatused:
- Eemaldatud moodulid: Math::BigInt::CalcEmu, arybase, Locale::Code, B::Debug;
- Mustri eraldajad peaksid nüüd olema grafeemid;
- Eraldajad peaksid nüüd olema grafeemid;
- Mõned varem mittetoetatud vasakpoolse sulu "{" kasutamine regulaaravaldise mustrites on nüüd keelatud;
- Nullist erineva väärtuse määramine $[-le (massiivi esimese elemendi indeks) on nüüd saatuslik;
- Varem aegunud sysread()/syswrite() :utf8 käsitlemisel on nüüd saatuslik.
- my() valetingimustes on nüüd keelatud;
- Aegunud $* (muutuja, mida kasutatakse mitmerealise sobitamise lubamiseks ja eemaldati versioonist Perl v5.10.0) ja $# (muutuja, mida kasutatakse väljundnumbrite vormindamiseks ja eemaldati Perli versioonist 5.10);
- Dump() kvalifitseerimata kasutamine on aegunud;
- Eemaldatud fail::Glob::glob();
- pack() ei saa enam tagastada kehtetut UTF-8;
- Üldskripti mis tahes numbrite komplekt kehtib skriptis, mida käivitab mõni muu skript;
- JSON::PP sisaldab vaikimisi faili allow_nonref;
Aegunud funktsioon:
- Te ei saa enam kasutada erinevaid makrosid, mis käsitlevad UTF-8 XS-koodis;
Allikas: linux.org.ru