Introduction au langage Perl en pdf

Introduction au langage Perl

Procédures
1. déclaration sub ma_procedure { bloc; }
Appel : &ma_procedure(); ou, plus simplement: ma_procedure;
2. avec paramètre(s) sub pepin { my($fruit) = @_;
if (($fruit ne ‘amande’) and ($fruit ne ‘fraise’)) { print « ce fruit a des pépins ! »; }
}
Appel: &pepin(‘cerise’); ou: pepin(‘cerise’);
3. fonctions
Une fonction est en fait une procédure qui retourne quelque chose : sub pluriel { my($mot) = @_;
$m = $mot.’s’; return($m);
}
Appel: $mot_au_pluriel = &pluriel(‘cerise’); => ‘cerises
Remarque: Le passage de paramètres se fait donc à l’aide du tableau spécial @_ (géré par le système Perl). L’instruction « my » réalise une affectation dans des variables locales à la procédure avec les éléments du tableau. Ce type de passage de paramètre est très pratique car le nombre de paramètres n’est pas forcément fixe.
Variables locales 
Attention au petit piège habituel : $m = ‘Dupont’; $f = &pluriel(‘cerise’); print « M. $m vend des $f\n »; affichera : M. cerises vend des cerises ! A cause du fait qu’on utilise la variable $m qui est modifiée dans le programme pluriel … La solution consiste à déclarer toutes les variables utilisées dans les procédures en variables locales à l’aide de « my ». D’ou l’avantage d’utiliser les modules “strict” et “warning” (cf. paragraphe “Soyons rigoureux” p. 11). A la troisième ligne de la procédure « pluriel » on rajoutera : my $m;
Fonctions prédéfinies
Quelques fonctions offertes par Perl pour manipuler les données. L’inventaire est loin d’être exhaustif (cf. perlfunc)
A. Système • print : permet d’afficher un message, ou le contenu de variables.
print ‘bonjour’;
print ‘J\’ai acheté ‘, $nombre,’ kilos de ‘, $fruit;
print; => affiche le contenu de la variable spéciale $_
ou encore :
print « J’ai acheté $nombre kilos de « , &pluriel($fruit);
Problèmes courants : les caractères spéciaux (‘, »,$,…), que l’on peut afficher en les précédant d’un « \ »
ex: print « Il dit alors : \ »Non, je n’ai pas 50 \$ !\ »… »;
Autre solution pour les longs textes : print <<« FIN »; #Tout ce qui suit jusqu’à FIN en début de ligne Ceci est un long texte qui n’est pas perturbé par la présence de « guillemets » ou d’apostrophes FIN Quelques caractères spéciaux affichables avec « print » : \n => « retour-chariot », \t => tabulation, \b => « bip »
(une fonction utile: quotemeta($chaine) permet de préfixer chaque caractère spécial par un “\”)
• exit : permet d’arrêter le programme en cours
if ($erreur) {exit;} • die : permet d’arrêter le programme en cours en affichant un message d’erreur. if ($fruit eq ‘orange’) {die ‘Je déteste les oranges !’} • system : permet de lancer une commande système system ‘mkdir mon_repertoire’; • sleep n : le programme « dort » pendant n secondes ex: programme « bip horaire » while (1) {sleep 3600; print « \b »;} le fait d’écrire « while (1) » permet de faire une boucle infinie (on aurait pu écrire : « for (;;) »)

Cours gratuitTélécharger le cours complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *