Rilascio del linguaggio di programmazione Perl 5.34.0

Dopo 11 mesi di sviluppo, è stato rilasciato un nuovo ramo stabile del linguaggio di programmazione Perl — 5.34. Durante la preparazione della nuova release, sono stati modificati circa 280.000 righe di codice, coinvolgendo 2100 file, e 78 sviluppatori hanno partecipato allo sviluppo.

Il ramo 5.34 è stato rilasciato secondo il calendario di sviluppo fisso approvato otto anni fa, che prevede il rilascio di nuovi rami stabili una volta all'anno e aggiornamenti correttivi ogni tre mesi. È previsto che circa un mese dopo venga rilasciata la prima versione correttiva Perl 5.34.1, che correggerà gli errori più significativi identificati nel processo di adozione di Perl 5.34.0. Contestualmente al rilascio di Perl 5.34, è stata interrotta la supporto per il ramo 5.30, per il quale in futuro potrebbero essere rilasciati aggiornamenti solo in caso di problemi critici di sicurezza. È anche iniziato il processo di sviluppo del ramo sperimentale 5.35, sulla base del quale verrà formato un rilascio stabile di Perl 5.36 a maggio o giugno 2022, se il ramo Perl 7 non sostituisce Perl 5.

Principali modifiche:

  • È stata aggiunta la supporto sperimentale per la sintassi try/catch per la gestione delle eccezioni, che può essere utilizzata invece di manovre poco evidenti con «eval». Il blocco «try» include un blocco con il codice da eseguire, e il blocco «catch» con il codice per gestire eventuali eccezioni che possono verificarsi durante l'esecuzione del primo blocco. Nel «catch» viene definita una variabile che contiene i dati passati durante la creazione dell'eccezione (ad esempio, quando si verifica un'eccezione a causa della chiamata a «die», verrà passata la stringa specificata come argomento). All'interno dei blocchi «try» e «catch» sono consentiti dichiarazioni di salto, inclusi return, goto, next, last e redo. use feature ‘try’; try { a_function(); } catch ($e) { warn «Si è verificato un errore: $e»; }
  • È consentito l'uso di un confine inferiore vuoto nei blocchi «{a,n}», compresi quelli utilizzati nelle espressioni regolari. Ad esempio, ora è possibile specificare «{,3}».
  • All'interno dei parametri con parentesi graffe {m,n}, \b{}, \g{}, \k{}, \N{}, \o{} e \x{} è consentito l'uso degli spazi, a condizione che lo spazio sia adiacente alla parentesi graffa o alla virgola, per il doppio escape o nei modelli di espressioni regolari; ad esempio, ora è possibile specificare «qr/a{ 5, 7 }/» o «\x{ FFFC }» senza racchiudere i valori tra virgolette.
  • In aggiunta ai letterali esadecimali (0xddddd) e binari (0bddddd), è stata proposta una nuova sintassi per specificare numeri ottali — «0oddddd», nella quale è possibile usare gli underscore per chiarezza (0o123_456). Il supporto per la nuova sintassi è stato aggiunto anche alla funzione builtin oct().
  • Nel motore delle espressioni regolari è stata corretta una perdita di memoria.
  • Aggiornate le versioni dei moduli inclusi nella distribuzione base. È stato incluso il modulo ExtUtils::PL2Bat per convertire script Perl in file bat per l'esecuzione in Windows.
  • Aggiunto il supporto per la compilazione di Perl per il sistema 9front (un fork di Plan9). Migliorato il supporto per Plan9 e macOS. Sospeso il supporto per il sistema operativo Symbian.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster