Nwlapcug.com


Perl 5.10 vs 5.8.8

Perl 5.10 vs 5.8.8


Il linguaggio di programmazione Perl è stato in continuo sviluppo dal suo rilascio iniziale nel 1987. Ogni nuova release aggiunge funzionalità aggiuntive, correzioni di bug e miglioramenti delle prestazioni di interprete. Alcune modifiche, però, significano che gli script scritti per versioni precedenti potrebbero non funzionare come previsto. Tuttavia, le correzioni e le modifiche di sintassi introdotte nella transizione da Perl 5.8.8 alla versione 5.10 anche portano il linguaggio più vicino alla prossima major release: Perl 6.

Prestazioni

Come i precedenti rilasci di Perl, versione 5.10 migliora le prestazioni e l'efficienza dell'interprete di script del linguaggio. Ordinamento in Perl quicksort built-in funzioni e ordinamento inverso non più sprecare tempo e memoria copie temporanee della matrice di essere ordinato. Modo che l'interprete Perl elabora le espressioni regolari è stato rielaborato pure, aumentando velocità e overflow dello stack eliminando.

Miglioramenti al nucleo

Librerie e file binari Perl sono ora rilocabile. È possibile installare Perl su qualsiasi unità di sistema in qualsiasi directory. Ora è possibile creare pacchetti che bundle applicazione Perl con una corrispondente versione dell'interprete che può essere installato su un'unità in un punto qualsiasi nel sistema di destinazione.

Variabili di stato sono un altro nucleo miglioramento al Perl. La parola chiave dello stato permette di utilizzare variabili di funzione mantenere i valori tra chiamate di funzione pur rimanendo invisibili all'esterno dell'ambito della funzione. L'operatore di corrispondenza intelligente "~ ~" ti permette di fare i confronti di stringhe, matrici e viene generato un hash in modi precedentemente possibili solo con le espressioni regolari.

Problemi di incompatibilità

Purtroppo, alcune modifiche in Perl 5.10 rompono la compatibilità con le versioni precedenti. Script di Perl 5.8.8 utilizzando Pack () e unpack() su UTF-8 o Universal Character Set Transformation Format — 8 bit non funzioneranno correttamente con stringhe Perl 5.10 UTF-8. Le variabili di espressione regolare $* e $# sono stati rimossi. L'operatore "chdir" è ora una bareword Perl che restituisce un handle di file anziché un nome di file. Printf () e sprint() è ora conforme alla direttiva di modalità di macchia.

È possibile provare alcune nuove funzionalità del linguaggio Perl senza compromettere la compatibilità con le versioni precedenti utilizzando la nuova direttiva pragma o interprete di funzionalità. Il pragma caratteristica consente di utilizzare codice di scrittura che utilizza alcune nuove funzionalità del linguaggio come la dichiarazione di funzione o interruttore di say() solo se li si richiede in modo esplicito.

Correzioni di bug

Alcuni degli aumenti in Perl 5.10 velocità e stabilità sono a causa di correzioni di bug. 5.10 versione corregge perdite di memoria causate dal thread del processo di Perl e la funzione eval. Il generatore di numeri casuali non cerca il file "urandom" sulle implementazioni di Windows. La funzione study() per accelerare di espressione regolare non esegue alcuna azione su stringhe UTF-8. Il pragma "nessun avviso" ora funziona correttamente con il "-w" opzione, permettendo di scegliere quali avvisi che si desidera disattivare.