L6T051 - TAL pour Linguistes - Matias Calderon

Perl

Perl 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). C'est un langage interprété, polyvalent, et particulièrement adapté au traitement et à la manipulation de fichiers texte, notamment du fait de l'intégration des expressions régulières dans la syntaxe même du langage. L'association en charge du développement et de la promotion de Perl est The Perl Foundation. En France, les Mongueurs de Perl promeuvent ce langage, notamment via les Journées Perl.

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. Avant la naissance de Perl, les traitements sur le texte devaient être faits au moyen de scripts shell, en utilisant les programmes sed, awk, grep, cut, test et expr. Beaucoup de limites apparaissaient quand on utilisait cette programmation : format des données d'entrée pas toujours souple, difficulté de passer des données d'un processus à l'autre, lenteur due au lancement de multiples programmes (le coût du lancement d'un processus n'était pas négligeable), dépendance à une mise en œuvre particulière d'une commande, bugs intrinsèques à certains langages (awk ne différencie pas la comparaison de nombres et de chaînes de caractères). Perl regroupe et emprunte sa syntaxe concrète à tous ces mini langages, dont le shell, en ajoutant une partie de la syntaxe du C et les fonctions des bibliothèques système en C.

Voici quelques-unes des devises qui lui sont couramment associées :

* 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 : Perl propose tellement de bibliothèques et de fonctions que le programmeur trouvera souvent 3 ou 4 manières de réaliser une même opération.

* Perl : la tronçonneuse suisse des langages de programmation pour les mêmes raisons.

* Perl : l'assistant idéal des administrateurs de système, la majorité des fichiers de configuration étant en texte sous Unix.

Sa souplesse autorise l'emploi de plusieurs modèles de programmation : procédurale, fonctionnelle et orientée objet.

Source Wikipedia