Een jaar na de release van Perl 5.28.0 is de release Perl 5.30.0.
Belangrijke wijzigingen:
- Support toegevoegd voor Unicode versies 11, 12 en de bètaversie 12.1;
- De bovengrens 'n', die is opgegeven in de kwantificator van de reguliere expressie in de vorm '{m, n}', is verdubbeld tot 65534;
- Metasymbolen in de specificaties van Unicode-eigenschapswaarden worden nu gedeeltelijk ondersteund;
- Ondersteuning toegevoegd voor qr'N{name}';
- Perl kan nu worden gecompileerd om altijd thread-veilige lokale bewerkingen te gebruiken;
- Beperkte lengte van variabelen bij patroonmatching met reguliere expressies wordt nu experimenteel ondersteund;
- Er wordt een snellere methode gebruikt voor conversie naar UTF-8;
- Turkse UTF-8-lokalisaties worden nu probleemloos ondersteund;
- Het gebruik van de opASSIGN-macro is uit de kern verwijderd;
Functionaliteit die is verwijderd en incompatibele wijzigingen:
- Modules verwijderd: Math::BigInt::CalcEmu, arybase, Locale::Code, B::Debug;
- Scheidingstekens van sjablonen moeten nu grafemen zijn;
- Scheidingstekens moeten nu grafemen zijn;
- Enkele eerdere verouderde manieren om een ongeëscapete linkerhaak '{' in reguliere expressies te gebruiken zijn nu verboden;
- Het toewijzen van een niet-nulwaarde aan de variabele $[ (index van het eerste array-element) is nu fataal;
- Eerder verouderde sysread()/syswrite() bij verwerking :utf8 zijn nu fataal.
- my() in valse voorwaarden is nu verboden;
- $* (deze variabele werd gebruikt voor het inschakelen van multi-regex matching en is verwijderd in Perl v5.10.0) en $# (deze variabele werd gebruikt voor het formatteren van outputgetallen en is verwijderd in Perl v5.10.0) worden als verouderd beschouwd;
- Ongekwalificeerd gebruik van dump() wordt als verouderd beschouwd;
- File::Glob::glob() is verwijderd;
- pack() kan nu geen ongeldige UTF-8 meer retourneren;
- Elke set cijfers is in een algemene script toegestaan in een script dat door een ander script wordt uitgevoerd;
- JSON::PP staat standaard allow_nonref toe;
Verouderde functionaliteit:
- Het is nu niet meer mogelijk om verschillende macro's die UTF-8 verwerken te gebruiken in XS-code;
Bron: linux.org.ru

