Langage de programmation Perl

Perl (Practical Extraction and Report Language ou langage pratique d'extraction et de génération de rapports) est un langage de programmation créé par Larry Wall en 1987 et reprenant des fonctionnalités du langage C et des langages de scripts sed, awk et shell (sh). Bien que son nom soit l'objet de plusieurs acronymes on l'utilise généralement avec un P majuscule pour désigner le langage et un p minuscule en parlant de l'interpréteur. "Seul perl analyse correctement Perl."

Table of contents
1 Origines et implémentation
2 Exemples de code
3 Aspects communautaires
4 Voir aussi
5 Liens externes

Origines et implémentation

Perl est né du besoin de disposer d'un langage optimisé pour l'extraction d'informations de fichiers textes et la génération de rapports. Une de ses devises est There Is More Than One Way To Do It (TIMTOWTDI) qui pourrait se traduire par Il y a plus d'une façon de le faire. Une autre est Perl : le couteau suisse des langages de programmation. Sa souplesse autorise l'emploi de plusieurs modèles de programmation : programmation procédurale, programmation fonctionnelle et POO---bien que les puristes de ce dernier ne considèrent pas Perl comme en faisant partie, son objectif est de s'adapter aux goûts du programmeur plutôt qu'une architecture stricte du langage. Perl est souvent considéré comme le langage de script par définition et a été qualifié de "ciment assurant la cohésion du web", étant un des langages CGI les plus populaires.

Perl est un logiciel libre, distribué sous license artistique et GPL. Perl est porté sur la plupart des systèmes d'exploitation mais excelle particulièrement en environnement UNIX et ses dérivés; il gagne aussi en popularité sous Microsoft Windows. Un exemple du champ d'action de Perl est son utilisation comme script CGI pour faire tourner Wikipedia jusqu'en janvier 2002.

Une immense collection de modules Perl d'utilisation libre, allant des mathématiques avancés aux connexions aux bases de données, en passant par les réseaux et bien davantage encore, peuvent être téléchargés depuis un réseau de sites appelé CPAN.

Bien que Perl profite de la plupart des facilités d'un langage interprété, à proprement parler il n'interprète et n'exécute pas le code source une ligne à la fois. En fait, Perl compile d'abord le programme entier dans un bytecode intermédiaire (assez dans l'esprit du code objet Java), l'optimisant au passage, et exécute alors ce bytecode. Il est possible de compiler un programme Perl en bytecode pour s'épargner les phases de compilation lors d'exécutions futures, bien que l'"interpréteur" est toujours requis pour exécuter ce code.

Perl 6 est en cours de développement. Il tournera dans la machine virtuelle Parrot.

Exemples de code

Certaines personnes affirment avec humour que Perl veut dire 'Pathologically Eclectic Rubbish Lister' (collectionneur pathologique de déchets variés) à cause de l'utilisation intensive de caractères de ponctuation chargés de sens dans la syntaxe du langage, comme on peut le voir dans cet exemple de programme affichant une salutation:

# Un exemple de programme en Perl
$message = "A l'endroit : 'camel'.\\n";
print $message;
$message =~ s/endroit/envers/;
$message =~ s/'(\\w)(\\w)(\\w)(\\w)(\\w)'/'$5$4$3$2$1'/;
print $message;
exit 0

et sa sortie à l'écran :

A l'endroit : 'camel'.
A l'envers : 'lemac'.

Les troisième et quatrième lignes de cet exemple montrent l'usage d'expressions régulières.

Aspects communautaires

Perl a maintenant une base d'utilisateurs très vaste et diversifiée. Pour plusieurs types d'utilisateurs du langage, c'est d'ailleurs leur seul point commun. Les administrateurs système en sont friands, les développeurs en apprécient la concision et la puissance, des linguistes et des biologistes - habituellement peu enclins à se pencher sur le code - l'utilisent comme langage de référence dans leurs applications métiers.

Cette communauté a donc créé ses propres codes et ses défis. Rejoignant le langage C sur ce point, les compétitions de code impénétrable sont une composante majeure de la culture Perl. Les scripts JAPH (Just Another Perl Hacker, signifiant Rien d'autre qu'un autre hacker Perl) sont aussi typiques (voir http://www.linux-france.org/prj/jargonf/J/JAPH.html), tout comme les tournois de Golf (voir http://perlgolf.sourceforge.net/ ) où il s'agit de réaliser une tâche avec un programme le plus court possible.

Voir aussi

[ APL | Python | Ruby | Tcl ]

Liens externes