Le PERL


Introduction
Les variables en PERL
Les boucles
Les conditions
Les fichiers
Les fonctions
Les variables


Les variables scalaires
C’est le type de variable le plus simple. En PERL, il ne faut pas déclarer quel type de contenu on va mettre dans la variable. On peut changer le contenu en cours d’exécution sans aucun problème.
Les variables scalaires sont reconnaissables au $ qui précède leur nom de variable.
Exemple :
$candidat = 9 ;
mais on pourrait mettre
$candidat = " Arthur " ; juste après

Les noms de variables peuvent être composés de chiffres, de lettres et du caractère souligné (_), mais elles ne peuvent pas commencer par un chiffre.

De plus la variable $_ est une variable spéciale, utilisée par de nombreuses fonctions en PERL.

Venant du monde Unix, le PERL est sensible à la casse : $a et $A sont donc deux variables distinctes.

Opérations et assignations
$a = 1; assigne 1 à la variable $a
$a = 1 + 3 ; ajoute 1 à 3 et assigne la résultat à la variable $a
$a = 4 - 2 ; soustrait 2 à 4 et assigne la résultat à la variable $a
$a = 10**9 ; élève 10 à la 9ème puissance et assigne la résultat à la variable $a
++$a; incrémente $a de 1 et retourne la nouvelle valeur de $a
--$a; décrémente $a de 1 et retourne la nouvelle valeur de $a
$a++; retourne la valeur de $a puis incrémente $a de 1
$a--; retourne la valeur de $a puis décrémente $a de 1
$a = $b; affecte la valeur de $b à $a
$a += $b; ajoute $b à $a et affecte le résultat à $a
$a -= $b; soustrait $b à $a et affecte le résultat à $a
$a .= $b; concatène $b à $a pour des chaînes de caractères uniquement
$a = "Arthur"; assigne Arthur à la variable $a

Les tableaux
C’est un type de variables très courant en PERL, il est fort utilisé pour la gestion de fichiers par exemple. On distingue 2 types de tableaux : les tableaux de valeurs et les tableaux associatifs.

Les tableaux de valeurs
Il s’agit d’une liste de valeurs, des nombres et/ou des chaînes de caractères. Les tableaux de valeurs sont déclarés de la même façon que les variables scalaires si ce n’est qu’ils sont précédés d’un @ à la place du $. Un exemple :
@voitures = ("Peugeot","Citroën","VW");
Cela remplit le tableau @voitures avec les 3 éléments cités.
Pour accéder au 2ème élément de ce tableau, on utilise $voitures[1] et pas @voitures[1]. C’est étrange, mais c’est comme ça.
La numérotation des éléments du tableau commence à 0 comme en C.
Donc $voitures[0] renvoie Peugeot, $voitures[1] renvoie Citroën et $voitures[2] renvoie VW.

Les tableaux associatifs
Il s’agit d’une variation des tableaux de valeurs. Ces tableaux permettent d’accéder autrement que par l’index habituel (0,1,2,…) aux valeurs contenues. On peut y accéder par une chaîne de caractères qui constitue l’index.
Pour définir un tableau associatif, on utilise presque la même notation que pour définir un tableau de valeurs, si ce n’est que le tableau est préfixé d’un % au lieu du @.
Par exemple, pour faire un tableau reprenant l'âge de personnes, on peut utiliser :
%ages =("Pascal",39,"Pierre",25,"Martine",20,"Jean",12);
pour récupérer l'âge de Pierre, on fera donc $ages("Pierre"); et on obtiendra 25.
Il faut remarquer que pour accéder à une valeur particulière, le % est remplacé par le $ comme on le faisait pour le tableau de valeurs.

Remarque : un tableau associatif peut être converti en tableau de valeurs par simple assignation, ce qui permet d’utiliser $ages[1]; pour avoir l'âge de Pierre

Opérations et assignations
  • Push
    permet d’ajouter à la fin d’un tableau l’élément ou la liste d’éléments spécifiés.
    Exemple : Push(@voitures,"Audi");

    On peut aussi l’utiliser pour mettre un tableau à la fin d’un autre tableau
    Exemple : Push(@voitures,@autres_marques); aura pour effet de mettre le contenu du tableau @autres_marques à la fin du tableau @voitures.

    Push renvoie également la longueur de la nouvelle liste.

  • Pop
    permet de retirer le dernier élément d’une liste et de le renvoyer.
    Si je fais $marque = pop(@voitures); j’ai dans $marque "Audi"
    Le nombre d’éléments d’un tableau s’obtient en faisant $nbel = @tableau;
    On peut obtenir tous les éléments d’un tableau les uns à la suite des autres avec un espace entre les différents éléments en faisant $liste = "@tableau";

    L’index du dernier élément d’un tableau peut être obtenu en faisant : $last = $#tableau;



Page précédente | Introduction | Page suivante





© Rotule 1999 - 2002
Faites parvenir vos commentaires au Webmaster