Voici quelques URL utiles en rapport avec PERL : UF/NA Perl Archive , un manuel Perl fonctionnant comme un moteur de recherche, Perl FAQ, un manuel Perl HTML, Perl Home Page.
Voici aussi les références du livre dont je me suis largement
inspiré pour écrire cette introduction :
Perl5 by examples. David Medinets. Que1996.
Peut-être avez vous Perl déjà installé sur votre PC ? Ouvrez l'invite de commande dos et taper perl -v. Si Perl est déjà installé vous serez alors qu'elle en est la version installée. Dans la suite nous traitons de la version 5 de Perl.
N'oubliez pas qu'un manuel HTML en anglais est offert avec Perl5.
suivie de return.
Ci-dessous un exemple de script :
#Un commentaire print ("Une ligne.\n");
#Un autre commentaire
print 'Salut les gens \n';
print "\n";
print 'Salut les z\'enfants';
print "\n\n\n";
print "Bonjour \U les schtroumpfs du nord. \E Bonsoir \L LEs ScHtroumpfs
du Sud. \E \\ \n";
print "abc\udefg\n";
print "\tLe meilleur ami de l\'homme.\n";
print "Voilà " . "le bon passage." . "\n";
print ("Le chiffre ", 1, '.', "La somme de 2 et de 1 = ", 1+2,
"\n");
print (20, " ",012," ", 0xA2 + 0x1B," ", 5.45, " ",5.2E-2,"\n");
print (1,2,5..10);
print ("\n", "A", "B".."E","\n");
Notons de ce première exemple que Perl manipule des chaînes littérales de caractères entre ', des nombres (réels, entiers, octaux et hexadécimaux), des chaînes de caractères et des commandes \x interprétées entre ", ainsi que des vecteurs mixtes.
Voici un autre script intéressant qui montre qu'il est indispensable de bien protéger l'accès en écriture d'un CGI :
print `dir`;
Voici un exemple d'utilisation de scalaires :
$nombre = 5;
$chaine = 'Salut';
$chaine_2 = "Salut\n";
print $nombre + 5;
print "\n";
print ($chaine,' ',$chaine_2,"\n");
Voici un exemple d'utilisation de vecteurs:
@VecteurDeNombres = (1,2,45,65,2E-21);
@VecteurVide=();
@VecteurMixte=(1..5,"trace");
@GrandVecteur = (@VecteurDeNombres,@VecteurMixte);
print @VecteurMixte[0]; print "\n";
print @VecteurMixte[5]; print "\n";
print "$VecteurDeNombres[-1] $VecteurDeNombres[-2] \n";
print @GrandVecteur; print "\n";
$Taille = @GrandVecteur;
print ("La taille du grand vecteur est de ", $Taille, "\n");
Noter la façon de calculer la taille d'un vecteur et l'utilisation des index négatifs.
Les vecteurs associatifs
Les vecteurs associatifs sont des vecteurs indexés par des scalaires. Les vecteurs associatifs sont toujours préfixés par le caractère %.
Voici quelques exemples d'utilisation de vecteurs associatifs :
%VecteurAssociatif = ("Bill", "3 Mai","Pierre","6 juin");
$VecteurAssociatif{"Sophie"}="6 avril";
print ("La date d\'anniversaire de Pierre est le ",$VecteurAssociatif{"Pierre"},".\n");
print ("Celle de Sophie : ",$VecteurAssociatif{"Sophie"},".");
Opérations d'extraction sur les vecteurs
Il est possible d'extraire des parties de vecteurs vers d'autres vecteurs ou vers des scalaires.
Voici un exemple de script illustrant ces possibilités :
@Vecteur = ("Un", "Deux", "Trois", "Quatre");
@Demi=@Vecteur[0,1];
($Troisieme, $Quatrieme) = @Vecteur[2,3];
print "\@Vecteur = @Vecteur \n";
print("\@Demi[0] = @Demi[0] \@Demi[1]=@Demi[1]\n");
print("\$Troisieme = $Troisieme \$Quatrieme = $Quatrieme\n");
@Vecteur[0,3] = @Vecteur[3,0];
print "\@Vecteur = @Vecteur\n";
L'interpolation de variable
Si l'on imprime un vecteur les éléments de ce vecteurs apparaissent collés les uns aux autres. Il y a moyen de pallier à ce petit inconvénient de la façon suivante :
@Vecteur = (1..20);
print @Vecteur; print "\n";
print "@Vecteur\n";
La variable spéciale $" contient la chaîne de caractère qui sépare les différents éléments d'un vecteur à l'impression. Par défaut elle prend pour valeur un caractère blanc (' ').
Voici un exemple d'utilisation de la variable spéciale $" :
$" = "!";
@Vecteur = (1..20);
print "@Vecteur\n";