Il linguaggio di programmazione Perl è in continuo sviluppo dal suo rilascio iniziale nel 1987. Ogni nuova versione aggiunge funzionalità aggiuntive , bug fix e miglioramenti delle prestazioni interprete . Alcuni cambiamenti , però , fanno sì che gli script scritti per versioni precedenti potrebbero non funzionare come previsto. Tuttavia, le correzioni e le modifiche introdotte sintassi nel passaggio da Perl 5.8.8 alla versione 5.10 anche portare il linguaggio più vicino alla prossima major release : Perl 6 . Prestazioni
Come Perl precedenti release , versione 5.10 migliora le prestazioni e l'efficienza dei interprete di script della lingua . Funzioni incorporate quicksort sorta e ordinamento inverso non è più il tempo dei rifiuti di Perl e la memoria facendo copie temporanee dell'array da ordinare. Il modo in cui l'interprete Perl elabora le espressioni regolari è stato rielaborato e , aumentando la velocità e l'eliminazione di overflow dello stack .
Nucleo Miglioramenti
Perl binari e librerie sono ora rilocabile . È possibile installare Perl su qualsiasi unità di sistema in qualsiasi directory . Ora è possibile creare pacchetti bundle dell'applicazione Perl con una versione corrispondente dell'interprete che può essere installato su una unità ovunque sul sistema di destinazione .
Variabili Stato
sono un altro accessorio nucleo di Perl . La parola chiave stato permette variabili della funzione di conservare i loro valori tra le chiamate di funzione , pur rimanendo invisibile fuori portata della funzione. L'operatore della partita intelligente " ~ ~" ti permette di fare confronti tra stringhe, array e hash in modi prima possibili solo con le espressioni regolari .
Incompatibilità
< p > Purtroppo , alcuni cambiamenti in Perl 5.10 rompere la compatibilità con le versioni precedenti . Perl 5.8.8 script utilizzando pack () e unpack () su UTF -8 o Universal Character Set Transformation Format - 8 -bit non funzioneranno correttamente con i Perl 5.10 stringhe UTF-8 . Le variabili di espressione regolare $ * e $ # sono stati rimossi . L'operatore " chdir " è ora un bareword Perl che restituisce un handle di file piuttosto che il nome del file . Printf ( ) e Sprint () ora sono conformi alla Direttiva modalità di contaminazione .
È possibile provare alcune nuove funzionalità del linguaggio Perl, senza rompere la compatibilità con le versioni precedenti utilizzando la nuova funzione direttiva pragma o interprete. La funzione pragma consente di utilizzare scrivere codice che utilizza alcune nuove funzionalità del linguaggio , come la funzione o l'interruttore dichiarazione dire ( ) solo se li richiede in modo esplicito .
Bug Fixes
< p > Alcuni degli aumenti di Perl 5.10 velocità e stabilità sono dovuti a correzioni di bug . Versione 5.10 corregge le perdite di memoria causate dal thread del processo di Perl e la funzione eval . Il generatore di numeri casuali non guarda più il file " urandom " sulle implementazioni di Windows . La funzione per velocizzare espressione regolare di studio ( ) non svolge più alcuna azione su stringhe UTF-8 . Il " nessun avviso " pragma ora funziona correttamente con l'opzione " - w" , che consente di scegliere quali avvisi si desidera disattivare .