Créé par Larry Wall, Perl était d'abord un langage de scripting qui a débuté comme une amélioration du shell Unix et de awk. Au fil du temps, perl est devenu un langage de programmation complet. perl est fréquemment utilisé pour manipuler des fichiers de données et en extraire de l'information utile. Une des forces de perl est l'immense librairie de modules qui sont disponibles via CPAN. Notez qu'il existe même un module spécial en Perl (aussi appelé CPAN) qui permet d'installer plus facilement de nouveaux modules (qu'en faisant le classique: Perl Makefile.pl; make; make install
).
Perl est surtout pratique soit pour faire du scripting (comme pour de l'administration système), soit pour du prototypage rapide. Un des avantages de Perl est son expressivité syntaxique (pas de typage statique, casting implicite en fonction des opérateurs appliqués), qui se fait au détriment de l'efficacité. La garbage collection de Perl est assez mauvaise (en fonction du système il gérera différemment la mémoire), donc si l'espace mémoire est critique il n'est pas recommandé. Il est conseillé d'utiliser les options de vérification lors de vos premiers scripts afin d'éviter de faire des bêtises, ainsi que pour être certain que ce que vous avez laissé implicite dans votre code est interprété par Perl comme vous le pensiez.
Que vous soyez un programmeur chevronné ou débutant, le livre "The practice of programming" de Kernighan et Pike (disponible en bibliothèque) est une excellente lecture pour des règles de bonne pratique en programmation, quel que soit le langage utilisé. Perl étant très expressif, les risques sont d'autant plus élevés qu'un bout de code ne fasse pas ce que vous croyez qu'il fait...
Traditionnel "Hello World":
#! /usr/bin/perl print("Hello World\n");
Attention, Perl n'oblige pas la déclaration des variables. Toutefois, pour éviter des bugs pénibles à retrouver, si vous pouvez utiliser le package strict qui vous oblige alors à déclarer les variables. L'exemple suivant est un petit programme qui prend deux entiers en paramètres et les additionnes.
#! /usr/bin/perl # use strict; use warnings; my $var1; #déclaration d'une variable my $var2; my $var3; $var1 = $ARGV[0]; #récup. premier param. $var2 = $ARGV[1]; #récup. deuxième param. $var3 = $var1 + $var2; print("Le résultat est ", $var3, "\n");
On peut voir dans l'exemple ci-dessus que les scalaires sont précédés du symbole '$'. La déclaration d'un tableau est très simple:
my @mon_tableau;
La déclaration d'un table de haschage est se fait avec le symbole '%':
my %ma_table_haschage;
Voici un petit exemple d'utilisation de ces deux structures:
#! /usr/bin/perl use strict; use warnings; my @tab = (1, 2, 3); my %hash; print("Le 2e el du tableau est: ", $tab[1], "\n"); $hash{"poire"} = 10; $hash{"pomme"} = 3; print("Le prix d'une pomme est: ", $hash{"pomme"}, "\n");
man perl
perldoc
qui permet de manipuler et de parcourir les documents de perl