Programmation Perl/Bases du langage
Bonjour !
modifierL'un des plus petits programmes possible en langage Perl est :
#!/usr/bin/env perl
use strict;
use warnings;
use v5.14;
say "Bonjour !";
(Les numéros de lignes ont été ajoutés pour la lisibilité, mais ne font pas partie du programme.)
Ce programme a pour seul but d'afficher le texte « Bonjour ! » suivi d'un retour à la ligne. Voici la description de chaque ligne qui le compose :
#!/usr/bin/env perl
Ceci s'appelle un shebang et est destiné à déterminer quel est l'interpréteur à utiliser pour comprendre les instructions qui suivent.
use strict;
use warnings;
use v5.14;
Ceci décrit respectivement les conventions d'écriture (strict), l'affichage de message d'avertissement (warnings), ainsi que l'utilisation d'une certaine version de l'interpréteur Perl. Maintenant que vous savez ceci, vous comprenez que les 4 premières lignes ne sont pas toujours strictement nécessaires mais que cela fait partie des bonnes pratiques de les écrire. Pour cela, comme dit dans l'introduction, il faut inclure ces 4 lignes en début de chaque programme que vous écrirez.
say "Bonjour !";
Affiche simplement la chaîne de caractères Bonjour !. Le mot clé réservé say permet d'afficher une chaîne de caractères suivit par un retour à la ligne.
À noter qu'à l'exception de la première ligne, chaque autre ligne se termine par un point virgule, désignant comme dans beaucoup d'autres langages de programmation la fin d'une instruction.
Compilation
modifierPour pouvoir exécuter un programme Perl, il faut soit l'exécuter via la commande perl fichier_perl.pl
soit on rajoute le shebang (vu plus haut), on rend le fichier exécutable chmod +x fichier_perl.pl
puis on l'exécute ./fichier_perl.pl
.
Éléments de syntaxe
modifierCommentaires
modifierSur une ligne
modifier# ceci est un commentaire
Les commentaires se font sur une ligne et commencent à partir du caractère dièse # .
Sur plusieurs lignes : POD
modifierÉcrire un commentaire sur une ligne c'est pratique lorsque nous avons très peu de commentaire à faire, mais nous avons parfois besoin de beaucoup plus d'une ligne pour écrire une explication un peu plus longue. Dans ce cas, il est possible d'utiliser un mécanisme intégré à Perl qui a été conçu pour que les scripts comportent directement leur propre documentation : POD (Plain Old Documentation - Bonne Vieille Documentation). Avec ce système, nous allons écrire notre propre documentation directement au milieu de nos lignes de code (comme il se fait de nos jours dans un bon nombre d'autres langages).
À savoir que tout code est commenté de cette manière sur le CPAN, le plus gros rassemblement de modules Perl. Nous reverrons le CPAN et les modules qui permettent de réutiliser du code déjà écrit (même par d'autres développeurs) plus tard.
Un exemple simple d'instructions POD (se trouve au milieu d'un code) :
=pod
Toujours commencer par =pod puis un saut de ligne.
J'écris ici un commentaire
qui s'étend sur plusieurs
lignes.
Après un saut de ligne, le début d'un
autre paragraphe.
=cut
La structure est très simple, on commence par =pod, un saut de ligne, on écrit nos commentaires, un saut de ligne et on termine par =cut. Cela permet d'écrire de la documentation très facilement, puis de la convertir en html pour la voir dans un navigateur web par exemple.
La directive =pod déclare le début du commentaire, =cut la fin (et donc la reprise de l'interprétation du code Perl).
Sachez qu'il est possible de faire de la documentation bien plus structurée que simplement plusieurs paragraphes séparés par un saut de ligne, afin qu'un formateur de code POD puisse le transformer en fichier LaTeX ou HTML plus facilement compréhensible. Cependant pour ne pas alourdir ce livre, je vous renvoie sur quelques tutoriels dont les liens se trouvent dans les ressources.
instructions
modifierChaque instruction est séparée par un point virgule (;). Les blocs d'instructions commencent par une accolade ouvrante ({) et se terminent par une accolade fermante (}). Contrairement au langage C, les instructions ne sont pas toujours dans ces blocs, nous verrons ça plus tard.
my $variable = 42 ;
# plusieurs instructions sur une ligne
my $a = 2; print "hello" ; print "\n"; $a = 5;
# bloc d'instruction
{
say "coucou"; # instruction dans un bloc
}
déclaration de variables
modifierportée $variable;
portée des variables
modifierLe mot clé my désigne une portée locale, c'est à dire limitée à un bloc d'instructions. Le mot clé our désigne une portée globale, c'est à dire visible partout dans le fichier (dans les différentes fonctions, par exemple). Lorsqu'une variable est visible, elle est lisible et modifiable.