I. Préface▲
Perl Moderne (Modern Perl) est une façon de décrire la manière dont travaillent les programmeurs Perl les plus efficaces au monde. Ils utilisent les idiomes du langage. Ils tirent parti du CPAN. Ils ont le bon goût et l'habileté d'écrire du code puissant, maintenable, évolutif, concis et efficace. Vous aussi pouvez acquérir ces compétences !
Perl est apparu en 1987 comme un simple outil d'administration système. Bien qu'il ait commencé en occupant une niche confortable entre les scripts shell et la programmation en C, il est devenu une puissante famille de langages de programmation d'usage général. Perl a une histoire solide de pragmatisme et un avenir brillant de perfectionnement et d'amélioration.
Au cours de la longue histoire de Perl — en particulier les 20 années de Perl 5 — notre compréhension de ce qui fait de grands programmes en Perl a changé. Alors que vous pouvez écrire des programmes productifs sans jamais profiter de tout ce que le langage a à offrir, la communauté Perl mondiale a inventé, emprunté, amélioré et poli des idées, et les a rendues accessibles à quiconque est prêt à les apprendre.
I-A. Exécuter du Perl moderne▲
Le module Modern::Perl du CPAN (Le CPANLe CPAN) demande à Perl de signaler les fautes de frappe et les constructions douteuses et permettra d'utiliser les nouvelles fonctionnalités introduites dans les versions récentes successives de Perl. Sauf mention contraire, les extraits de code présentés dans ce livre adoptent toujours le squelette de base d'un programme :
... ce qui équivaut à :
Quelques exemples utilisent des fonctions de test telles que ok(), like() et is()(TestsTests). Ces programmes suivent le modèle :
#!/usr/bin/env perl
use Modern::Perl;
use Test::More;
# exemple de code ici
done_testing();
Au moment où nous rédigeons ces lignes, la version stable actuelle est Perl 5.18 (1). Si vous utilisez une version de Perl plus ancienne, vous ne serez peut-être pas en mesure d'exécuter tous les exemples dans ce livre sans les modifier. Les exemples de ce livre fonctionnent mieux avec Perl 5.14.0 ou une version plus récente, mais nous recommandons au moins Perl 5.16. Bien que le terme « Perl moderne » puisse faire référence à n'importe quelle version de Perl à partir de 5.10.1, plusieurs fonctionnalités ajoutées dans les versions plus récentes sont indispensables au développement moderne.
Si vous n'avez aucune version de Perl installée (ou si vous disposez d'une ancienne version), vous pouvez installer vous-même une version plus récente. Les utilisateurs de Windows pourront télécharger Strawberry Perl à l'adresse http://www.strawberryperl.com/ ou ActivePerl à l'adresse http://www.activestate.com/activeperl. Les utilisateurs d'autres systèmes d'exploitation ayant déjà installé Perl (et un compilateur C et d'autres outils de développement) devraient commencer par installer le module CPAN App::perlbrew. Regardez sur http://search.cpan.org/perldoc?App::perlbrew pour les instructions d'installation.
Le module perlbrew vous permet d'installer et de gérer plusieurs versions de Perl. Cela vous permet de basculer entre versions ainsi que d'installer des modules Perl et CPAN dans votre répertoire personnel sans affecter la version du système. Si vous avez déjà eu besoin de demander à votre administrateur système la permission d'installer un logiciel, vous savez à quel point cela peut maintenant vous faciliter la vie.
I-B. Remerciements▲
Ce livre n'aurait pas existé sans les questions, les commentaires, les suggestions, les conseils, la sagesse et les encouragements de beaucoup de gens. L'auteur et l'éditeur remercient en particulier :
John SJ Anderson, Peter Aronoff, Lee Aylward, Alex Balhatchet, Nitesh Bezzala, Arnfjord Bjarmason, Matthias Bloch, John Bokma, Vasily Chekalkin, Dmitry Chestnykh, E. Choroba, Tom Christiansen, Anneli Cuss, Paulo Custodio, Steve Dickinson, Kurt Edmiston , Felipe, Shlomi poisson, Jérémie Foster, Mark Fowler, John Gabriele, Nathan Glenn, Kevin Granade, Andrew Grangaard, Bruce Gray, Bjørn Hansen Demandez, Tim Heaney, Graeme Hewson, Robert Hicks, Michael Hicks, Michael Hind, Mark Hindess, Yary Hluchan, Daniel Holz, Mike Huffman, Gary H. Jones II, Curtis Jewell, Mohammed Kamal Arafat, James E Keenan, Kirk Kimmel, Graham Knop, Yuval Kogman, Jan Krynicky, Michael Lang, Jeff Lavallee, Moritz Lenz, Andy Lester, Jean -Baptiste Mazon, Josh McAdams, Gareth McCaughan, John McNamara, Shawn M Moore, Alex Muntada, Carl masak, Chris Niswander, Nelo Onyiah, Chas. Owens, ww de PerlMonks, Jess Robinson, Dave Rolsky, Gabrielle Roth, Grzegorz Rożniecki, Jean-Pierre Rupp, Eduardo Santiago, Andrew Savige, Lorne Schachter, Steve Schulze, Dan Scott, Alex-ander Scott-Johns, Phillip Smith, Christopher E . Stith, Mark A. Stratman, Bryan Summersett, Audrey Tang, Scott Thomson, Ben Tilly, Ruud HG van Tol, Sam Vilain, Larry Wall, Lewis Wall, Paul Waring, Colin Wetherbee, Frank Wiegand, Doug Wilson, Sawyer X, David Yingling, Marko Zagozen, Ahmad M. Zawawi, harleypig, HBM, et sunnavy.
Les erreurs restantes sont de la faute de l'auteur têtu.