_ ______________________ _
-*8*- `^°*;:,.> Un tutorial PERL <.,:;*°^`
_____________________________/¯¯¯ By BirkOss ¯¯¯\___________________________
¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸
Tutorial de perl By birkoss@yahoo.fr QHA
Introduction
-=-=-=-=-=-=
Le language PERL est tres ressemblant du C. Je dit ca parce que
plusieurs cote de C se retrouvent aussi dans le PERL.
Si vous programmez en C, la programmation en PERL ne sera pas
trop difficile.
La base
-=-=-=-
Votre source peux avoir comme nom n'importe quoi (ex: TEST,
essaie.pl, etc..) Mais c'est conseiller de prendre l'extension .pl
Comme le PERL ne se compile pas, il y a deux facons de l'executer.
1) Avec perl fichier.pl
2) Avec chmod 755 fichier.pl, et ensuite ./fichier.pl
En PERL, les instructions doivent (comme en C/C++) finir par un
point-virgule ( ; ). Les espaces et autres choses sont quelquefois
libres au programmeur.
Les commentaires commence avec un ( # ). Exemple
print "Salut"; # Ce qui est apres #, est ignoré.
La premiere ligne de ton script doit commencer par le chemin
indiquant ou est PERL. Pour savoir ou est le binaire de PERL, taper :
find / -name perl -print
Chez nous, il est dans /usr/bin/perl donc, pour la premiere ligne,
je vais mettre :
#!/usr/bin/perl
Les variables
-=-=-=-=-=-=-
Les chaines de caracteres/caracteres/entiers
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
La variable doit commencer par un ( $ ) et doit avoir comme premier
caractere une lettre, apres, c'est au choix du programmeur.
Le PERL accorde aussi le caractere ( _ ) pour les noms. Exemple :
$CHAINE = "Votre chaine";
$age = 16;
$Mon_nick = "birkoss";
IMPOSSIBLE:
$69pour = "bla bla bla";
$Marche-pas = "compris ?";
Les tableaux
-=-=-=-=-=-=
Les tableaux doivent commencer, contrairement par un ( @ ), et
doit lui aussi commencer par une lettre. Exemple :
@tableau = (1,2,3,4,5,6,7,8,9,10);
@tableau2 = @tableau;
@lettre = ('a','b','c','d','e');
@mixte = ('a',2,3,4,'e',5,6,7,'i');
@mot = ("QHA","will","never","die");
Affectation et operateur
-=-=-=-=-=-=-=-=-=-=-=-=
Pour les entiers, les operateurs sont :
+ (Additionner)
- (Soustraire)
* (Multiplier)
/ (Diviser)
On peux faire en comme en C :
$nombre = 0;
$nombre++; #++ est egal a +1
Afficher du texte/variable (Avec print)
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Comme je l'ait dit plutot, le perl peut ecrire une fonction de
differente facon. Les 3 exemples suivants sont equivalents :
print("Salut");
print "Salut";
print 'Salut';
Voici un petit exemple :
---------- Code ------------
#!/usr/bin/perl
$Crew_le_plus_hot = "QHA";
print "Quel est le crew le plus hot : $Crew_le_plus_hot";
--------Fin du code------------
Cet exemple va afficher :
Quel est le crew le plus hot : QHA
Pour afficher un tableau, c'est le meme principe :
print "Tableau : @tableau";
Comme en C, l'utilisation de \n pour afficher un saut de ligne
est permis. Pour afficher sur un autre ligne, tu peux aussi
faire :
print "Ce
texte
est
sur
des
lignes
differentes";
Les boucles
-=-=-=-=-=-
if
=-
if sert a faire une boucle. Sa syntaxe est :
if(expression)
{
instruction a faire si l'expression est vraie
}
Dans l'expression, il doit y avoir un operateur. Pour les
entiers, ils sont comme en C :
== (Egal)
!= (Different)
> (Plus grand)
< (Plus petit)
>= (Plus grand ou egal)
<= (Plus petit ou egal)
Pour les chaines de caracteres :
eq (Egal)
ne (Different)
lt (Inferieur)
gt (Superieur)
le (Inferieur ou egal)
ge (Superieur ou egal)
Dans une expression, il peut y avoir 2 chiffre. Exemple :
if(10==10) # Si 10 est egal a 10
Une variable et un chiffre :
$age= 16; if($age > 18) # Si $age (16) est
# plus grand que 18
Ou deux variables :
$Yeux = "brun";
$cheveux = "brun";
if($yeux eq $cheveux) # Si $yeux (brun) est pareil
# a $cheveux (brun)
else
-=-=
Le else accompagne habituellement le if. Le else
sinifie 'sinon'. Si la condition du if n'est pas vraie,
le programme continue son execution dans le else.
Exemple :
$nombre = 12;
if($nombre == 10)
{
print "Le nombre vaut 10";
}
else
{
print "le nombre ne vaut pas 10";
}
(ndt : notez qu'en ajoutant trois espaces a tous les
elements concernes par la condition le code devient
beaucoup plus lisible)
elseif
-=-=-=
elseif agit comme un if. Exemple :
$nombre==12;
if($nombre==10)
{
print "Le nombre vaut 10";
}
elseif($nombre==12)
{
print "Le nombre vaut 11";
}
else
{
print "Le nombre ne vaut pas 10 ni 11";
}
for
-=-
for est une boucle qui fait ce qui est dans le for
(entre les parentheses { et }) tant que la valeur
initiale n'est pas atteinte. La syntaxe de for est
comme en C :
for(valeur initiale;valeur finale;valeur d'incrementation)
{
instruction a faire tant que la valeur finale n'est
pas atteinte vont ici
}
Exemple:
for($nombre;$nombre<=10;$nombre++)
{
print "Salut\n";
}
while
-=-=-
while signifie tant que, while est semblable a for,
while fait tout ce qui est entre ces parentheses tant
que l'expression est vraie. Sa syntaxe est :
while(expression)
{
instruction a faire ici
}
Exemple :
$nombre = 1;
while($nombre != 10)
{
$nombre++;
}
while ici ne fait rien sinon d'ajouter un ( +1 ) dans
$nombre jusqu'a temps qu'il soit egal a 10 (pcq dans
l'expression du while est tant que $nombre est
different a 10, faire ...)
Saisie de clavier (avec STDIN)
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
La saisie se termine avec un ENTER. La syntaxe est :
$variable = ;
Exemple :
-------Code------------
#!/usr/bin/perl
$age = ;
print "Tu as $age ans";
----Fin du code--------
Lors de l'execution, on obtiens (Dans cet exemple,
je vais rentrer 16)
[birkoss@QHA birkoss]$ chmod 755 test.pl
[birkoss@QHA birkoss]$ ./test.pl
16
Tu as 16
ans[birkoss@QHA birkoss]$
Comme tu peux voir, un retour chariot (Celui que tu
utilises pour terminer la saisie) est a la fin de la
chaine. Pour l'oter, va voir plus loin dans la section chop.
syste
m
-=-=-=
La commande system est identique en C. Elle sert a faire
une commmande du systeme d'exploitation. Syntaxe :
system("commande");
Exemple :
system("ls");
cela affiche le contenus du repertoire ou le script est
system("vi qha.txt");
cela cree (ou ouvre si il deja creer) le fichier qha.txt avec vi
chop
-=-=
La commande chop sert a oter le dernier caractere d'une
chaine. (Tres utile pour oter le retour chariot d'un variable
saisie avec STDIN). Sa syntaxe :
chop($variable);
Exemple :
#!/usr/bin/perl
$nick=;
chop($nick); #pour oter le retour chariot
print "$nick";
chop($nick); #pour oter le dernier caractere entrer
print "$nick";
chr
-=-
La fonction chr sert a convertir un entier en ASCII.
La syntaxe est :
$variable=chr(entier);
Exemple :
#!/usr/bin/perl
$test=chr(69);
print "$test";
Cela va afficher : E
length
-=-=-=
Cette commande sert a compter le nombre de caractere d'une
variable. Sa syntaxe est :
$variable=length($autre);
Exemple :
$lo = "SALUT";
$longueur=length($lo); # $longueur vaut 5
C'est tout pour le moment, mais un autre article va suivre.
Birkoss