Perl (langage) - Définition

Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs de cet article est disponible ici.

Faux amis

Certains mots ont un sens différent en Perl que celui dans la littérature non Perl. Pour chaque mot, nous donnons le nom français, le nom anglais entre parenthèses, et la définition en terme du vocabulaire du wikipédia.

  • Une fonction (function) est une fonction prédéfinie par le langage.
  • Une routine, aussi appelée sous-routine, (subroutine) est une fonction définie dans le programme ou une bibliothèque utilisée.

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 spéciaux chargés de sens dans la syntaxe du langage, comme on peut le voir dans cet exemple de programme :

       # Un exemple de programme en Perl       $message = "À l'endroit: 'camel'.\n";       print $message;       $message =~ s/endroit/envers/;       $message =~ s/('\w+')/reverse($1)/e;       print $message;       exit 0      

et sa sortie à l'écran :

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

Les troisième et quatrième lignes de cet exemple montrent l'usage d'expressions rationnelles.

Ces caractères spéciaux sont liés à la puissance de traitement de Perl :

  • scalaires désignés par $ : $nom = "Toto"; $z=3;
  • tableaux désignés par @, indexés par [] : $nom[95] = "Val d'Oise"; (le 96e élément du tableau est comme les autres un scalaire !)
  • tableaux associatifs, ou hashs désignés par %, indexés par {} : $code{"Val d'Oise"} = 95; (leurs éléments sont des scalaires aussi)

Aspects communautaires

Perl a une base d'utilisateurs 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. Perl est particulièrement apprécié en bio-informatique où les programmes font l'objet de remaniements constants.

La base CPAN regroupe et met gratuitement à la disposition des utilisateurs de Perl du monde entier 15,4 millions de lignes de code (juillet 2004) sous forme de modules Perl et de synopsis montrant comment les mettre en œuvre. L'effet boule de neige est indiscutable. La synergie aussi.

Trivia

On écrit généralement le nom de ce langage avec un P majuscule pour désigner le langage et un p minuscule en parlant de l'interpréteur : « seul perl analyse correctement Perl. » Une conséquence est qu'un système de coloration syntaxique d'un programme Perl devrait utiliser l'interpréteur perl pour être totalement correct. En pratique, des modules pur Perl comme Perl::Tidy et PPI arrivent à comprendre correctement la majeure partie du code courant.

Un canular organisé par l'équipe de direction de l'éditeur O'Reilly avec la complicité de Larry Wall et Guido van Rossum (avec annonce d'un livre imaginaire dont l'annonce donnait le fac-simile) a annoncé à une époque la fusion en un langage unique nommé aussi Parrot de Perl 6 et de Python, à la grande panique de certains aficionados des deux langages.

Compte-tenu du rôle qu'a eu Perl dans le développement de la « nouvelle économie », une boutade prêtait à la mairie de New York l'intention de rebaptiser Wall Street du nom de son inventeur, ce qui aurait au moins le mérite de ne pas entraîner du tout de frais pour le contribuable !

Logiciels écrits en Perl

  • Diverses bibliothèques couvrent le continuum des systèmes de gestion de contenu, des wikis et des blogs. Perl est au cœur de sites comme Slashdot, Everything2, Kuro5hin, LiveJournal
  • Request Tracker, un système de gestion de bugs
  • GNU Automake génère des makefiles portables
  • Fink est un projet open source destiné à porter vers Mac OS X des applications originellement écrites pour UNIX
  • SVK est un système de gestion de version de code. C'est une extension de Subversion
  • Movable Type est une plateforme de publication pour entreprises, utilisée par des sociétés comme General Motors
  • Blosxom (prononcer «blossomme») est un logiciel de blog et un système de gestion de contenu
  • Sympa, gestionnaire de listes de diffusion
  • SpamAssassin, filtre courriel anti-spam
  • Bugzilla, gestionnaire de bugs
  • Webmin, logiciel de configuration d'une machine via une interface web
  • Urpmi, le gestionnaire de packages de Mandriva, ainsi que l'installeur et les outils de configuration sont tous écrits en Perl
  • Frozen Bubble, jeu d'arcade
  • AWStats, analyseur de logs
  • Des robots IRC sont écrits en Perl (infobot) ou proposent des interfaces Perl (eggdrop)
  • Koha, Premier SIGB sous licence libre
  • MRTG, logiciel de monitoring réseau
  • Foswiki, wiki d'entreprise open source puissant et très facile d'utilisation (http://foswiki.org/)
Page générée en 0.323 seconde(s) - site hébergé chez Contabo
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
A propos - Informations légales
Version anglaise | Version allemande | Version espagnole | Version portugaise