Notre site dédié au langage Perl

Sommaire :

Perl, c'est quoi ?
Les devises de Perl
Comment exécuter un programme Perl ?
Les principales variables
Les principaux opérateurs
Les entrées et les sorties en Perl
Les structures de contrôle en Perl
Les principales commandes
Les expressions régulières
Rechercher - Remplacer

Ce site présente tous les exercices de Perl que nous avons fait durant le deuxième semestre de notre Master 1 dans le cadre du cours "Programmation pour le TAL en Perl". Vous pourrez voyager, grâce aux onglets, dans les différents exercices réalisés tout au long du semestre.

Perl, c'est quoi ?

Perl est un langage de programmation qui a été conçu en 1987 par Larry Wall. Il reprend des fonctionnalités du langage C et des langages de script. Perl a été créé à la base pour manipuler du texte, extraire de l'information de fichiers texte et générer des rapports. Aujourd'hui, il permet de faire bien d'autres tâches.
Ce langage se veut avant tout pratique.
Retourner en haut de la page

Les devises de Perl

TIMTOWTDI où plus simplement : "There Is More Than One Way To Do It"
Pour faire une même tâche, il y souvent plusieurs méthodes.
On trouvera aussi : "Perl : la tronçonneuse suisse des langages de programmation"
Retourner en haut de la page

Comment exécuter un programme Perl ?

Pour lancer un programme perl, il suffit d'écrire la ligne suivante dans l'invite de commande :
perl nomduprogramme.pl
Bien entendu, il faut auparavant s'être placé dans le répertoire qui contient le programme.
Il est parfois aussi nécessaire de marquer, après le nom du programme, le nom des arguments. On trouvera par exemple :

Retourner en haut de la page

Les principales variables

Il existe différents types de variables en Perl.

Format de la variableType de variableAffectation de valeur
$variablevariable scalaire$nbre=1; $mot="un";
@variabletableau de scalaire@tableau=(1, "deux", trois);
%variabletableau de hachage%tableau=("Pomme", 3, "Fraise", 18);

Chaque variable peut être précédée de my. my permet de rendre une variable locale.
Pour incrémenter la valeur d'une variable scalaire, il suffit de dire : $a++;. Pour faire l'opération inverse, on peut écrire : $a--;
Il existe également des variables plus spécifiques :

VariableFonction
$#tabDonne l'indice du dernier élément d'un tableau
$&Stocke ce qui a été reconnu
$`Stocke ce qui est à gauche de ce qui a été reconnu
$'Stocke ce qui est à droite de ce qui a été reconnu

Retourner en haut de la page

Les principaux opérateurs

Il existe différents opérateurs en Perl qui peuvent agir sur des valeurs numériques ou sur des valeurs alphabétiques.

OpérateurFonctionExemple
=affectation valeur$a=1;
+addition$c = $a + 1 ;
*multiplication$c = $a * 2 ;
/division$c = $a / 2 ;
-soustraction$c = $a - 2 ;
.concaténation$c = "bon" . "jour";
eqest vrai s'il y a équivalence$c eq $a ;
neest vrai s'il y a différence$c ne $a ;
ltest vrai si $c est plus petit que $a (au sens lexicographique)$c lt $a ;
gtest vrai si $c est plus grand que $a (au sens lexicographique)$c gt $a ;
&&et... $c && $a ...
||ou... $c || $a ...
!négation... $c != 4 ...
==teste l'égalité... $a == $b ...

Retourner en haut de la page

Les entrées et les sorties en Perl

Qui ?Fait quoi ?
<STDIN>entrée standard
<STDOUT>sortie standard
<>argument

Retourner en haut de la page

Les structures de contrôle en Perl

Les instructions contenues dans une structure de contrôle forment des blocs toujours encadrés par des { ... }.

BoucleFonctionnement
Ifexécute les instructions si la condition est vraie
Whileexécute les instructions tant que la condition est vraie
Foreachest très bien adapté pour parcourir un tableau
Fora une valeur de début, une valeur de fin et une incrémentation

Retourner en haut de la page

Les principales commandes

CommandeUtilitéExemple
openOuverture d'un fichier en lectureopen (FIC, 'ARGV[0]');
openOuverture d'un fichier en écritureopen (FIC, '>ARGV[0]');
closeFermeture d'un fichierclose (FIC);
printEcritureprint "Site Perl";
pushAjouter un élément en fin de tableaupush (@tab, "mot");
popEnlever un élément en fin de tableau$dernier = pop(@tab);
shiftEnlever un élément au début du tableau$premier = shift(@tab);
valuesRécupérer les valeurs d'un tableau de hachagevalues (%tab);
keysRécupérer les clefs d'un tableau de hachagekeys (%tab);
splitDécouper la chaine de caractèressplit (/motif-de-découpe/, variable à découper);
chompEnlève le dernier caractère si c'est un saut de lignechomp ($mot);

ATTENTION : Cette liste est loin d'être exhaustive !

Retourner en haut de la page

Les expressions régulières

Il est possible d'utiliser les expressions régulières au sein du langage Perl.
Voici quelques symboles que l'on peut utiliser au sein de ces expressions :

SymboleSignification
\sEspace ou Tabulation ou Retour-charriot
\nRetour charriot
\tTabulation
^Début de ligne
$Fin de ligne
.Caractère quelconque sauf Fin de ligne
[a-z]Tout caractère alphabétique minuscule
[^0-9]Tout caractère non numérique
\wTout caractère alphanumérique
\WTout sauf un caractère alphanumérique
a?'a' est présent 0 ou 1 fois
a*'a' est présent 0 ou plusieurs fois
a+'a' est présent 1 ou plusieurs fois
|Ou inclusif
\Opérateur pour despécialiser les caractères spéciaux

Retourner en haut de la page

Rechercher - Remplacer

FonctionExemple
Vérifier la ressemblanceif ($nom =~ /Marion/)
Vérifier la non ressemblanceif ($nom !~ /Sophie/)
Remplacer$nom=~s/Marion/Sophie/(options);

Retourner en haut de la page