2012-06-14 15 views
6

Esiste una risorsa sul Web a cui è possibile accedere per trovare la sintassi di linguaggio specifica perl versione (5.8.1 vs current_stable) senza dover andare a perldoc e passare da una versione all'altra quindi cercare la elemento della lingua che sto cercando per vedere se esiste nella versione selezionata?risorsa sintassi specifica perl

Questo mi sembra un pessimo modo e ho pensato di chiedere all'alveare di vedere se c'è di meglio.

Per esempio, se cerco 'say' mi piacerebbe sapere che è apparso in perl 5.10+.

Grazie.

modifica - Come nota, la ragione per cui sto cercando è spesso che mi trovo a dover supportare vecchie versioni di Perl che "non posso" aggiornare, ma ancora necessario scrivere codice per. Questo diventa un compito noioso quando certe cose non funzionano come previsto andando da 5.12+ a 5.8- e speravo solo di trovare un modo migliore (e ho capito che non posso essere l'unico in questa situazione).

modifica-- Ero fondamentalmente alla ricerca di un'area di riferimento tutto in uno idealmente disponibile via web. Fare clic su 'say' e scoprire che è disponibile nella v5.10 quando la funzione è abilitata, o che alcune funzioni hanno imparato come prendere argomenti diversi nella versione Z, ecc. Con molte lingue, se si va a vedere una classe principale/lib/module si trova un'intera cronologia delle versioni per i suoi argomenti, metodi, funzioni, ecc. Per quanto riguarda le utility e i moduli, perlver sembra bello.

+2

[codice Perl su versione diversa] (http://stackoverflow.com/questions/3301082/can-i-make-sure-perl-code-written-on-5-10-will-run-on-5 -8) – tuxuday

+1

Perl :: MinimumVersion sembra piuttosto impressionante - non è disponibile come qualsiasi tipo di materiale di "riferimento" e potrebbe non essere una soluzione infallibile. Sicuramente qualcosa su cui pensare di usare durante la scrittura di un nuovo codice (forse aggiungerò una modalità di debug al nuovo codice che esegue tutte le linee attraverso MinimumVersion o qualcosa del genere) – AndrewPK

+0

Un validatore online che mi dice che la versione minima necessaria per il codice inserito sarebbe simpatico. –

risposta

4

Un altro modo non così bella è passare attraverso delta: http://perldoc.perl.org/index-history.html Si può sempre provare a cercare attraverso di loro:

grep say perl*delta.pod 

Ma sì, questo non è così piacevole e facile.

+0

Ho usato questo metodo anche prima via web - il problema è: 1. Il metodo web fa schifo. 2. Il metodo grep richiede che la versione perl sia disponibile localmente in qualche modo. : -/ – AndrewPK

+0

Contrassegnare come risposta, poiché attualmente sembra l'opzione migliore. – AndrewPK

1

Le uniche parole chiave che sono la versione-dipendente sono documentati nella pagina feature doc:

perldoc feature 

Le singole parole chiave citano anche quando sono stati aggiunti; include questo:

Questa parola chiave è disponibile solo quando la funzione "dire" è abilitata; vedi la funzione . In alternativa, includere un "use v5.10" o successivo all'ambito corrente .

E 'davvero una lista molto breve, comunque. Quasi tutto ciò che funziona in 5.14 funziona anche in 5.6.

+3

Questo non affronta le funzionalità che non hanno aggiunto parole chiave, come ad esempio three-arg-open (Perl 5.6.0), modifiche a ciò che il pragma 'utf8' fa, chiamate buffer di cattura (Perl 5.10.0), e così via ... è davvero più complesso delle semplici parole chiave, imho. – DavidO

+0

Questa risposta è utile per le parole chiave e così, ho già usato questo metodo anche prima, ma sono d'accordo con DavidO che anche questo fa schifo al riguardo. Sono sorpreso che sembra che ciò che stavo cercando non esistesse. – AndrewPK

0

Ogni release Perl include un documento perlXXXdelta che spiega le modifiche introdotte e come le nuove caratteristiche sono (in teoria, alla fine), non ha introdotto nella versione minori uscite, si deve leggi solo perl5160delta, perl514delta, perl512delta, perl510delta e perl58delta ...

In ogni caso, hai ragione, sarà bello avere un documento che riassume le modifiche importanti e le versioni in cui sono state introdotte.

Problemi correlati