In realtà non ho visto Learning Perl 6a edizione, ma sarei molto sorpreso se avessi difficoltà a lavorarci sopra con Perl 5.12. Perl 5.14 è ancora troppo nuovo perché la maggior parte delle persone scriva codice che lo richiede. Il libro potrebbe menzionare alcune funzionalità di cui non puoi trarre vantaggio nella 5.12, ma dovrebbe comunque spiegare come ottenere risultati utilizzando solo le funzionalità della 5.12.
Consiglierei di usare solo l'attuale Strawberry Perl e di non preoccuparsi del numero di versione.
Aggiornamento: Come ha sottolineato Mike, ecco il paragrafo iniziale della Prefazione:
Benvenuti alla sesta edizione di Learning Perl , aggiornato per Perl 5.14 e le sue ultime funzionalità. Questo libro è ancora valido anche se stai ancora usando Perl 5.8 (anche se è passato molto tempo da quando è stato rilasciato; hai pensato di aggiornarlo?).
Ciò conferma che non avrai problemi a provare a utilizzare la 5.12 con la sesta edizione.
Sono passato da Windows e PHP a Linux e Perl qualche tempo fa e non ho guardato indietro, ma non voglio iniziare una guerra del sistema operativo o del linguaggio di programmazione qui. Il mio desktop esegue Ubuntu, ma potresti restare con Windows (ho Windows disponibile in una VM VirtualBox per quelle volte in cui ne ho bisogno).
È possibile scaricare l'ISO di Ubuntu Server e allegarlo come immagine CD/DVD tramite Virtual Media Manager. Puoi quindi configurare tutte le macchine virtuali Ubuntu che desideri. Uso un'impostazione molto semplice per il mio:
- RAM:512 MB
- Disco rigido:8 GB dinamico
- Scheda di rete:con bridge
Ho alcune immagini configurate. Uno è configurato con Nginx + Catalyst, uno con Bricolage CMS e Apache e alcune altre varianti (inclusa una PHP). La cosa fantastica delle VM è che puoi creare istantanee, duplicare immagini, sperimentare e fare un salto di qualità e riavviare se rovini le cose.
Il modo in cui scegli di configurare il tuo ambiente di sviluppo dipende dalla scelta personale. Uso SSHMenu per aprire quattro connessioni SSH al mio server di sviluppo:questo posiziona anche i terminali in posizioni predefinite sul mio schermo.
Uso un terminale per eseguire il codice, accedere al debugger, ecc. Ne uso un altro per connettere il client DBMS (PostgreSQL / MySQL). Uso gli altri due per modificare il codice e i test unitari. Uso Vim nel terminale come editor. Stavo per provare anche Emacs, ma non ci sono mai riuscito.
Uso git come sistema di controllo della versione, con repository nudi su un file server separato. Ho iniziato con Mercurial, ma sembra che gran parte del mondo Perl stia usando git, quindi ho cambiato.
Ho configurato il terminale GNOME per utilizzare la bellissima combinazione di colori Solarized (puoi trovare uno script utile qui).
Per quanto riguarda la versione Perl:non lo so. Sono d'accordo con altri commenti sull'uso di un pacchetto standard piuttosto che provare a crearne uno tuo, specialmente se sei un principiante di Linux. Ho appena guardato la pagina di anteprima di O'Reilly e nella prefazione c'è scritto "questo libro è buono anche se stai ancora usando Perl 5.8" - quindi dovresti essere a posto con una versione precedente. Devi anche essere consapevole del fatto che se stai pianificando di sviluppare web in Perl, potresti essere limitato alle versioni precedenti di Perl dal tuo provider di hosting scelto.
Altre riflessioni:
-
Programmare Perl, nonostante la sua età, è ancora una grande risorsa. Uno che hai completato Learning Perl, e forse Intermediate Perl, vale la pena leggerlo. La sezione sui Pattern Matching (espressioni regolari) è fantastica.
-
Modern Perl è davvero una buona lettura. È ben scritto, conciso e pieno di suggerimenti davvero utili.
-
cpanm è un'ottima alternativa all'applicazione CPAN standard.
-
local::lib è molto utile. Lo uso per creare un set per applicazione di moduli CPAN. Ciò significa che posso semplicemente copiare l'intera struttura della directory dal mio server di sviluppo al server delle applicazioni, senza dovermi preoccupare di conflitti con altre applicazioni che potrebbero utilizzare versioni diverse degli stessi moduli. Questo probabilmente non è rilevante per te al momento, ma quando avrai imparato di più e inizierai a utilizzare molti moduli CPAN, può essere davvero utile.
Un rapido local::lib
esempio:
mkdir -p ~/myapp/extlib
cpanm --prompt -L ~/myapp/extlib CPAN::Module1 CPAN::Module2 ...
eval $(perl -Mlocal::lib=~/myapp/extlib/)
In ~/myapp/scripts/myscript.pl
:
use FindBin;
use local::lib "$FindBin::Bin/../extlib";
Usa ActivePerl
È un ottimo prodotto, è gratuito e ha un PPM (Perl Package Manager) affidabile (per la maggior parte). Lo uso e di solito non ho problemi. È una distribuzione binaria proprio come Strawberry Perl, ma per ottenere i moduli usi PPM invece di CPAN.pm.
Nota:se stai ricevendo Perl 5.14 solo per via del libro, non farlo. Ho preso quel libro (sono anche un principiante) e ho usato 5.12.4. Ottieni quasi tutte le funzionalità (tranne alcune;-)