Vous êtes sur la page 1sur 18

Programmation PERL

Cours n1

Nassim ZELLAL
2012/2013

Perl - gnralits

Perl est un langage de programmation cr par Larry Wall en 1987.

Langage de programmation procdurale particulirement adapt au


traitement des donnes textuelles.

Langage interprt, il n'y a pas de phase intermdiaire de


compilation car l'interprteur, qui sappelle perl en minuscules
compile le code sans que le programmeur ne s'en rende compte
puis, il l'excute.

Mon premier script PERL

Ouvrir un diteur de texte (Notepad++).


crire dans un fichier (test.pl) ce qui suit :

#!/usr/bin/perl
print "Je suis tudiant en informatique ! \n";
Pour lexcuter, ouvrir une invite de commandes et lancer le script
perl :
perl test.pl

Mon deuxime script PERL (passage des paramtres


avec la variable spciale $ARGV[x])
crire dans un fichier (test2.pl) ce qui suit :

#!/usr/bin/perl
print "Je suis tudiant en $ARGV[0] et je mappelle
$ARGV[1]! \n";
Pour lexcuter, ouvrir une invite de commandes et lancer le script
perl :
perl test2.pl

Commentaires en PERL

crire dans un fichier (test3.pl) ce qui suit :

# ceci est un commentaire


print "Coucou !\n"
Pour lexcuter, ouvrir une invite de commandes et lancer le script
perl :
perl test3.pl
Remarque : raccourci sous Notepad++ : Ctrl + q (valable aussi
pour les commentaires multilignes)

Trois types de variables en PERL

Scalaire

Tableau

Tableau associatif (table de hachage)

Nommage des variables

lettres (minuscules ou majuscules, ASCII de prfrence)


Chiffres
_ (tiret bas)
prcd de $, @ ou %
Exemples :
$maChaine
$MaChaine2
$Ma_2eme_Chaine
$2eme_chaine
$ma chaine 2
$ma-chaine

Affectation dune valeur une variable

variable = valeur
Exemples :
$machaine = "toto";
$monnombre = 33;
@maliste = ('toto', 'titi');
%notes = ("cours1", 15, "cours2", 18, "cours3", 11);

Perl - scalaires

Une variable de type scalaire est une :

chane de caractres

nombre

Perl - scalaires - chane de caractres

'Coucou !'
une chane littrale
"Coucou !"
'Coucou\n'
\n n'est pas interprt
"Coucou\n"
\n est interprt comme le retour la ligne
"tu es \"magnifique\"
chappement des "
"je veux utiliser un \\"
\ est interprt comme un caractre
spcial "d'chappement (dspcialisation) "

"" une chane vide

Perl - scalaires - comparaison de chanes de


caractres

. concatnation
x multiplication (de chane de caractres)
Oprateurs de comparaison :
eq galit => Retourne 1 si $x contient la chane "Bonjour", sinon 0
ne ingalit => Retourne 1 si $x est diffrente de "Toto", sinon 0
lt plus petit que (less than) => Retourne 1 si $x est infrieure
"Toto", sinon 0
gt plus grand que (greater than) => Retourne 1 si $x est suprieure
"Toto", sinon 0
le plus petit ou gal (less than or equal) => Retourne 1 si $x est
infrieure ou gale "Toto", sinon 0
ge plus grand ou gal (greater than or equal) => Retourne 1 si
$x est suprieure ou gale "Toto", sinon 0

Perl - scalaires - oprations sur les chanes de


caractres

Operations :

"mon"." "."chien" => "mon chien"

"a"x3 => "aaa"

Perl - scalaires - oprations sur les nombres

$a = (1 + 2) * 3 - 4; # retourne 5 dans $a (rgle de priorit)


$a = 1 + 2 * 3 - 4; # retourne 3 dans $a (rgle de priorit)
$a= 8 - 4 - 2; retourne 2 et non 6 (rgle dassociativit)
$a = 7 / 8; # Divise 7 par 8 et met 0.875 dans $a
$a = 9 ** 10; # 9 la puissance 10
$a = 5 % 2; # le reste de 5 divis par 2 (modulo)
++$a; # retourne $a augment de 1 (pr-incrmentation)
$a++; # retourne $a avant de l'augmenter de 1 (postincrmentation)
--$a; # retourne $a diminu de 1
$a--; # retourne $a avant de le diminuer de 1

Perl - scalaires - comparaison de nombres

$a == $b # Retourne vrai si $a est gal $b


$a != $b # Retourne vrai si $a est diffrent de $b
$a > $b # Retourne vrai si $a est suprieur $b
$a < $b # Retourne vrai si $a est infrieur $b
$a >= $b # Retourne vrai si $a est suprieur ou gal $b
$a <= $b # Retourne vrai si $a est infrieur ou gal $b

Perl - oprateurs dassignement

$a = $b; # Assigne $b $a

$a += $b; # ajoute $b $a et met le rsultat dans $a

$a -= $b; # soustrait $b de $a et met le rsultat dans $a

$a .= $b; # ajoute la chaine $b la fin de $a

Perl - oprateurs logiques (boolens)

|| OU logique => Vrifie qu'une des conditions est ralise


((condition1)||(condition2))

&& ET logique => Vrifie que toutes les conditions sont ralises
((condition1)&&(condition2))

! NON logique => Inverse l'tat d'une variable boolenne (retourne


la valeur 1 si la variable vaut 0, 0 si elle vaut 1)
(!condition)
Remarque: depuis Perl5 une notation plus agrable existe :
or(au lieu de ||), and(au lieu de &&), not(au lieu de !)

Adresse de tlchargement de PERL

http://www.activestate.com/activeperl/downloads

Mon courriel

nassim_zellal@yahoo.fr

Vous aimerez peut-être aussi