Je n'ai pas encore vu Learning Perl 6e édition, mais je serais très surpris si vous aviez des difficultés à le résoudre avec Perl 5.12. Perl 5.14 est encore trop nouveau pour que la plupart des gens écrivent du code qui le nécessite. Le livre peut mentionner certaines fonctionnalités dont vous ne pouvez pas tirer parti dans la 5.12, mais il doit quand même expliquer comment accomplir des choses en utilisant uniquement les fonctionnalités de la 5.12.
Je recommanderais simplement d'utiliser le Strawberry Perl actuel et de ne pas se soucier du numéro de version.
Mise à jour : Comme Mike l'a souligné, voici le premier paragraphe de la préface :
Bienvenue dans la sixième édition de Learning Perl , mis à jour pour Perl 5.14 et ses dernières fonctionnalités. Ce livre est toujours bon même si vous utilisez toujours Perl 5.8 (cependant, cela fait longtemps qu'il n'est pas sorti ; avez-vous pensé à mettre à jour ?).
Cela confirme donc que vous n'aurez aucun problème à essayer d'utiliser la 5.12 avec la 6e édition.
Je suis passé de Windows et PHP à Linux et Perl il y a quelque temps, et je n'ai pas regardé en arrière - mais je ne veux pas déclencher ici une guerre des systèmes d'exploitation ou des langages de programmation. Mon bureau exécute Ubuntu, mais vous pouvez vous en tenir à Windows (j'ai Windows disponible dans une machine virtuelle VirtualBox pour les moments où j'en ai besoin).
Vous pouvez télécharger l'ISO du serveur Ubuntu et l'attacher en tant qu'image CD/DVD via Virtual Media Manager. Vous pouvez ensuite configurer autant de machines virtuelles Ubuntu que vous le souhaitez. J'utilise un réglage très basique pour le mien :
- RAM :512 Mo
- Disque dur :8 Go dynamique
- Adaptateur réseau :ponté
J'ai quelques images configurées. L'un est configuré avec Nginx + Catalyst, l'autre avec Bricolage CMS et Apache, et quelques autres variantes (dont une en PHP). L'avantage des machines virtuelles, c'est que vous pouvez créer des instantanés, dupliquer des images, expérimenter, faire exploser des choses et redémarrer si vous vous trompez.
La façon dont vous choisissez de configurer votre environnement de développement est une question de choix personnel. J'utilise SSHMenu pour ouvrir quatre connexions SSH à mon serveur de développement - cela place également les terminaux à des positions prédéfinies sur mon écran.
J'utilise un terminal pour exécuter du code, accéder au débogueur, etc. J'en utilise un autre pour connecter le client SGBD (PostgreSQL / MySQL). J'utilise les deux autres pour éditer du code et des tests unitaires. J'utilise Vim dans le terminal comme éditeur. J'allais essayer Emacs aussi, mais je n'y suis jamais parvenu.
J'utilise git comme système de contrôle de version, avec des référentiels nus sur un serveur de fichiers séparé. J'ai commencé avec Mercurial, mais il semble qu'une grande partie du monde Perl utilise git, alors j'ai changé.
J'ai configuré le terminal GNOME pour utiliser le magnifique jeu de couleurs Solarized (vous pouvez trouver un script pratique pour cela ici).
Quant à la version Perl :je ne sais pas. Je suis d'accord avec d'autres commentaires sur l'utilisation d'un package standard plutôt que d'essayer de créer le vôtre - surtout si vous êtes un débutant Linux. Je viens de regarder sur la page de prévisualisation d'O'Reilly, et dans la préface, il est écrit "ce livre est bon même si vous utilisez toujours Perl 5.8" - vous devriez donc être d'accord avec une version antérieure. Vous devez également savoir que si vous envisagez de faire du développement Web en Perl, vous pouvez être limité aux anciennes versions de Perl par le fournisseur d'hébergement que vous avez choisi.
Quelques réflexions supplémentaires :
-
Programmation Perl, malgré son âge, est toujours une grande ressource. Celui que vous avez terminé Learning Perl, et peut-être Intermediate Perl, vaut la peine d'être lu. La section sur le Pattern Matching (expressions régulières) est fantastique.
-
Modern Perl est une très bonne lecture. Il est bien écrit, concis et plein de conseils vraiment utiles.
-
cpanm est une excellente alternative à l'application CPAN standard.
-
local::lib est très utile. Je l'utilise pour créer un ensemble de modules CPAN par application. Cela signifie que je peux simplement copier toute la structure de répertoires de mon serveur de développement vers le serveur d'applications, sans avoir à me soucier des conflits avec d'autres applications qui pourraient utiliser différentes versions des mêmes modules. Cela ne vous concerne probablement pas pour le moment, mais lorsque vous en saurez plus et que vous commencerez à utiliser de nombreux modules CPAN, cela peut être très pratique.
Un local::lib
rapide exemple :
mkdir -p ~/myapp/extlib
cpanm --prompt -L ~/myapp/extlib CPAN::Module1 CPAN::Module2 ...
eval $(perl -Mlocal::lib=~/myapp/extlib/)
En ~/myapp/scripts/myscript.pl
:
use FindBin;
use local::lib "$FindBin::Bin/../extlib";
Utiliser ActivePerl
C'est un très bon produit, il est gratuit, et il dispose d'un PPM (Perl Package Manager) fiable (pour la plupart). Je l'utilise et je n'ai généralement aucun problème. C'est une distribution binaire comme Strawberry Perl, mais vous utilisez PPM pour obtenir des modules au lieu de CPAN.pm.
Remarque :si vous obtenez Perl 5.14 uniquement à cause du livre, ne le faites pas. J'ai eu ce livre (je suis aussi un débutant) et j'ai utilisé 5.12.4. Vous obtenez la plupart des fonctionnalités (à l'exception de quelques-unes ;-)