Un an après la sortie de Perl 5.28.0, la version a été publiée Perl 5.30.0.
Changements importants :
- Ajout de la prise en charge des versions Unicode 11, 12 et de la version préliminaire 12.1 ;
- La limite supérieure « n » spécifiée dans le quantificateur d'expression régulière sous la forme « {m,n} » a été doublée à 65534 ;
- Les métasymboles dans les spécifications de valeurs de propriétés Unicode sont désormais partiellement pris en charge ;
- Ajout de la prise en charge de qr'N{name}' ;
- Il est désormais possible de compiler Perl pour utiliser toujours des opérations de localisation thread-safe ;
- La longueur maximale de la variable dans les correspondances d'expressions régulières est désormais prise en charge de manière expérimentale ;
- Une méthode plus rapide est désormais utilisée pour la conversion en UTF-8 ;
- Les localisations turques UTF-8 sont maintenant prises en charge sans problème ;
- L'utilisation du macro opASSIGN a été supprimée du noyau ;
Fonctionnalités supprimées et changements incompatibles :
- Modules supprimés : Math::BigInt::CalcEmu, arybase, Locale::Code, B::Debug ;
- Les délimiteurs de modèle doivent désormais être des graphèmes ;
- Les délimiteurs doivent maintenant être des graphèmes ;
- Certaines utilisations précédemment obsolètes des crochets gauches non échappés « { » dans les modèles d'expressions régulières sont désormais interdites ;
- L'attribution d'une valeur non nulle à la variable $[ (indice du premier élément du tableau) est désormais fatale ;
- Les méthodes sysread()/syswrite() précédemment obsolètes lors du traitement :utf8 sont désormais fatales.
- my() dans des conditions fausses est désormais interdit ;
- La variable $* (utilisée pour activer la recherche de correspondances multilignes et supprimée dans Perl v5.10.0) et $# (utilisée pour formater les nombres affichés et supprimée dans Perl v5.10.) est désormais considérée comme obsolète ;
- L'utilisation non qualifiée de dump() est considérée comme obsolète ;
- File::Glob::glob() a été supprimé ;
- pack() ne peut plus renvoyer un UTF-8 incorrect ;
- Tout ensemble de chiffres dans un script général est autorisé dans un script exécuté par un autre script ;
- JSON::PP inclut par défaut allow_nonref ;
Fonctionnalité obsolète :
- Il n'est plus possible d'utiliser divers macros traitant UTF-8 dans le code XS ;
Source : linux.org.ru

