_ ______________________ _ -*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