Un anno dopo il rilascio di Perl 5.28.0 è stato effettuato il rilascio Perl 5.30.0.
Modifiche importanti:
- Aggiunta del supporto per le versioni Unicode 11, 12 e la bozza 12.1;
- Il limite superiore 'n', definito nel quantificatore dell'espressione regolare nella forma '{m, n}', è stato raddoppiato a 65534;
- I metacaratteri nelle specifiche dei valori delle proprietà Unicode sono ora parzialmente supportati;
- Aggiunto il supporto per qr'N{name}';
- Ora è possibile compilare Perl per utilizzare sempre operazioni locali sicure per i thread;
- La lunghezza limitata della variabile nel confronto con il modello dell'espressione regolare è ora supportata in via sperimentale;
- Ora viene utilizzato un metodo più veloce per la conversione in UTF-8;
- Le impostazioni locali turche in UTF-8 sono ora supportate senza problemi;
- Escluso l'uso del macro opASSIGN dal nucleo;
Funzionalità rimosse e modifiche incompatibili:
- Rimossi i moduli: Math::BigInt::CalcEmu, arybase, Locale::Code, B::Debug;
- I delimitatori dei modelli devono ora essere grafemi;
- I delimitatori ora devono essere grafemi;
- Alcuni precedenti utilizzi obsoleti della parentesi graffa sinistra non escapata '{' nei modelli di espressioni regolari sono ora vietati;
- Assegnare un valore diverso da zero alla variabile $[ (indice del primo elemento dell'array) ora è fatale;
- I metodi obsoleti sysread()/syswrite() durante l'elaborazione :utf8 sono ora fatali.
- my() in condizioni false è ora vietato;
- $* (variabile utilizzata per includere la ricerca di corrispondenze multilinea e rimossa in Perl v5.10.0) e $# (variabile utilizzata per la formattazione dei numeri in uscita e rimossa in Perl v5.10.) sono ora considerati obsoleti;
- Si considera obsoleto l'uso non qualificato di dump();
- Rimossa File::Glob::glob();
- pack() non può più restituire un UTF-8 non valido;
- Qualsiasi insieme di cifre in uno script generale è valido in uno script eseguito da un altro script;
- JSON::PP include per impostazione predefinita allow_nonref;
Funzionalità obsolete:
- Ora non è possibile utilizzare vari macro che gestiscono UTF-8 nel codice XS;
Fonte: linux.org.ru

