Perl - Présentation de la syntaxe

Perl emprunte la syntaxe et les concepts à de nombreux langages: awk, sed, C, Bourne Shell, Smalltalk, Lisp et même l'anglais. Cependant, il existe des différences certaines entre les langues. Ce chapitre est conçu pour vous familiariser rapidement avec la syntaxe attendue en Perl.

Un programme Perl se compose d'une séquence de déclarations et d'instructions, qui vont du haut vers le bas. Les boucles, sous-programmes et autres structures de contrôle vous permettent de vous déplacer dans le code. Chaque instruction simple doit se terminer par un point-virgule (;).

Perl est un langage de forme libre: vous pouvez le formater et l'indenter comme vous le souhaitez. Les espaces blancs servent principalement à séparer les jetons, contrairement aux langages comme Python où il est une partie importante de la syntaxe, ou Fortran où il est immatériel.

Premier programme Perl

Programmation en mode interactif

Vous pouvez utiliser l'interpréteur Perl avec -een ligne de commande, qui vous permet d'exécuter des instructions Perl à partir de la ligne de commande. Essayons quelque chose à l'invite $ comme suit -

$perl -e 'print "Hello World\n"'

Cette exécution produira le résultat suivant -

Hello, world

Programmation en mode script

En supposant que vous êtes déjà sur $ prompt, ouvrons un fichier texte hello.pl en utilisant l'éditeur vi ou vim et mettons les lignes suivantes dans votre fichier.

#!/usr/bin/perl

# This will print "Hello, World"
print "Hello, world\n";

Ici /usr/bin/perlest le binaire de l'interpréteur perl. Avant d'exécuter votre script, assurez-vous de changer le mode du fichier de script et de donner le privilège d'exécution, généralement un paramètre de 0755 fonctionne parfaitement et enfin vous exécutez le script ci-dessus comme suit -

$chmod 0755 hello.pl
$./hello.pl

Cette exécution produira le résultat suivant -

Hello, world

Vous pouvez utiliser des parenthèses pour les arguments des fonctions ou les omettre selon vos goûts personnels. Ils ne sont nécessaires qu'occasionnellement pour clarifier les questions de préséance. Les deux instructions suivantes produisent le même résultat.

print("Hello, world\n");
print "Hello, world\n";

Extension de fichier Perl

Un script Perl peut être créé à l'intérieur de n'importe quel programme normal d'éditeur de texte simple. Il existe plusieurs programmes disponibles pour chaque type de plateforme. Il existe de nombreux programmes conçus pour les programmeurs disponibles en téléchargement sur le Web.

Comme convention Perl, un fichier Perl doit être enregistré avec une extension de fichier .pl ou .PL pour être reconnu comme un script Perl fonctionnel. Les noms de fichier peuvent contenir des chiffres, des symboles et des lettres mais ne doivent pas contenir d'espace. Utilisez un trait de soulignement (_) à la place des espaces.

Commentaires en Perl

Les commentaires dans n'importe quel langage de programmation sont des amis des développeurs. Les commentaires peuvent être utilisés pour rendre le programme convivial et ils sont simplement ignorés par l'interpréteur sans affecter la fonctionnalité du code. Par exemple, dans le programme ci-dessus, une ligne commençant par hash# est un commentaire.

Dire simplement que les commentaires en Perl commencent par un symbole de hachage et vont à la fin de la ligne -

# This is a comment in perl

Les lignes commençant par = sont interprétées comme le début d'une section de la documentation intégrée (pod), et toutes les lignes suivantes jusqu'au prochain = cut sont ignorées par le compilateur. Voici l'exemple -

#!/usr/bin/perl

# This is a single line comment
print "Hello, world\n";

=begin comment
This is all part of multiline comment.
You can use as many lines as you like
These comments will be ignored by the 
compiler until the next =cut is encountered.
=cut

Cela produira le résultat suivant -

Hello, world

Espaces blancs en Perl

Un programme Perl ne se soucie pas des espaces. Le programme suivant fonctionne parfaitement bien -

#!/usr/bin/perl

print       "Hello, world\n";

Mais si des espaces sont à l'intérieur des chaînes entre guillemets, ils seront alors imprimés tels quels. Par exemple -

#!/usr/bin/perl

# This would print with a line break in the middle
print "Hello
          world\n";

Cela produira le résultat suivant -

Hello
          world

Tous les types d'espaces comme les espaces, les tabulations, les retours à la ligne, etc. sont équivalents pour l'interpréteur lorsqu'ils sont utilisés en dehors des guillemets. Une ligne ne contenant que des espaces, éventuellement avec un commentaire, est connue comme une ligne vierge et Perl l'ignore totalement.

Citations simples et doubles en Perl

Vous pouvez utiliser des guillemets doubles ou simples autour des chaînes littérales comme suit -

#!/usr/bin/perl

print "Hello, world\n";
print 'Hello, world\n';

Cela produira le résultat suivant -

Hello, world
Hello, world\n$

Il existe une différence importante entre les guillemets simples et doubles. Seulement des guillemets doublesinterpolatevariables et caractères spéciaux tels que les retours à la ligne \ n, tandis que les guillemets simples n'interpolent aucune variable ou caractère spécial. Vérifiez ci-dessous l'exemple où nous utilisons $ a comme variable pour stocker une valeur et imprimer plus tard cette valeur -

#!/usr/bin/perl

$a = 10;
print "Value of a = $a\n";
print 'Value of a = $a\n';

Cela produira le résultat suivant -

Value of a = 10
Value of a = $a\n$

Documents "Ici"

Vous pouvez stocker ou imprimer du texte multiligne avec un grand confort. Même vous pouvez utiliser des variables dans le document "ici". Voici une syntaxe simple, vérifiez bien qu'il ne doit pas y avoir d'espace entre le << et l'identifiant.

Un identifiant peut être un simple mot ou un texte cité comme nous avons utilisé EOF ci-dessous. Si l'identifiant est cité, le type de devis que vous utilisez détermine le traitement du texte à l'intérieur du document ici, tout comme pour les citations régulières. Un identifiant sans guillemets fonctionne comme des guillemets doubles.

#!/usr/bin/perl

$a = 10;
$var = <<"EOF";
This is the syntax for here document and it will continue
until it encounters a EOF in the first line.
This is case of double quote so variable value will be 
interpolated. For example value of a = $a
EOF
print "$var\n";

$var = <<'EOF';
This is case of single quote so variable value will be 
interpolated. For example value of a = $a
EOF
print "$var\n";

Cela produira le résultat suivant -

This is the syntax for here document and it will continue
until it encounters a EOF in the first line.
This is case of double quote so variable value will be
interpolated. For example value of a = 10

This is case of single quote so variable value will be
interpolated. For example value of a = $a

Échapper à des personnages

Perl utilise la barre oblique inverse (\) pour échapper à tout type de caractère qui pourrait interférer avec notre code. Prenons un exemple où nous voulons imprimer des guillemets doubles et le signe $ -

#!/usr/bin/perl

$result = "This is \"number\"";
print "$result\n";
print "\$result\n";

Cela produira le résultat suivant -

This is "number"
$result

Identificateurs Perl

Un identifiant Perl est un nom utilisé pour identifier une variable, une fonction, une classe, un module ou un autre objet. Un nom de variable Perl commence par $, @ ou% suivi de zéro ou plusieurs lettres, traits de soulignement et chiffres (0 à 9).

Perl n'autorise pas les caractères de ponctuation tels que @, $ et% dans les identificateurs. Perl est uncase sensitivelangage de programmation. Donc$Manpower et $manpower sont deux identifiants différents en Perl.