Journal du Net Développeur >  Outils >  Guide pratique Perl

Guide pratique Perl > La syntaxe

Précédente Les promesses de Perl 6 
  Sommaire
 Introduction

Comme souvent, écrire un programme qui affiche à l'écran une ligne de texte permet d'aborder les concepts fondamentaux du langage. Voici donc le "Hello World" de Perl :

  1. #!/usr/bin/perl -w
  2. use strict;
  3. print "Hello, world!\n";

La première ligne commence par les caractères # et ! attachés, communément appelés "shebang" (de l'anglais "shell", ligne de commande, et "bang", exclamation) ou "shabang" (de l'anglais "sharp", dièse). Le shebang n'est pas spécifique à Perl, mais permet au système Unix de savoir quel interpréteur utiliser pour exécuter le script contenu dans le fichier.
Il est donc toujours suivit par le chemin vers l'interpréteur Perl (ici, /usr/bin/perl avec l'option -w pour afficher certaines alertes), et se retrouve également en tête d'autres programmes de langages de script : #!/usr/bin/python, #!/usr/bin/ruby, #!/bin/awk.

La seconde ligne n'est pas utile pour un programme si trivial, mais est une bonne habitude à prendre : elle précise que le code doit être interprété de manière stricte. Dans les faits, use strict est un pragma, une directive de compilation fonctionnant de la même manière que l'option -w pour les avertissements. Le code compilé sera donc plus sûr.

La troisième ligne, enfin, est le cœur du programme : print affiche simplement la chaîne qui le suit, celle-ci étant terminé par \n, un retour à la ligne. Notez qu'en dehors de la première ligne, non spécifique à Perl, toutes les lignes de code se terminent par un point-virgule.

Perl se distingue par ses types de données, chacun étant créé par un préfixe de variable particulier, nommé sigil : $var pour les scalaires (variable contenant une seule valeur), @var pour les tableaux, %var pour les hash (tableau associatif), &var pour les sous-routines, VAR pour les ressources fichiers. Outre ces quelques types statiques, Perl reste un langage dynamiquement typé.
Par ailleurs, les variables peuvent être précédées du mot-clef my pour indiquer que leur portée est limitée au bloc conteneur - donc, créer une variable locale. Dans le même ordre d'idée, our $var crée une variable globale limitée au module courant.

Perl dispose de tous les blocs de code usuels (if/elsif/else, for, foreach, while, do..while), ainsi que d'autres à la sémantique intéressante, comme unless ou do..until. Il ne dispose pas par défaut du bloc switch, et lui préfère des variations de if/elsif, l'usage des étiquettes, ou le recours à un module - mais Perl 5.10 et 6 devrait proposer ce bloc. Les blocs sont délimités par des accolades ouvrantes et fermantes :

  1. for my $i (0..$n-1) {
  2.   my $node = $nodes->item($i);
  3.   if ($node->getNodeType == ELEMENT_NODE) {
  4.     check_inner_text($node);
  5.     }
  6.   }

Les expressions rationnelles sont directement intégrées dans le code Perl, sans devoir faire un appel de fonction comme en PHP par exemple, mais à l'aide d'opérateurs =~ ou !~ :

  1. # renvoi vrai, c'est à dire 1, si $chaine contient "texte".
  2. $chaine =~ /texte/ 
  3. # cherche "lapins" dans $chaine, et s'il le trouve, le remplace par "tronçonneuse".
  4. $chaine =~ s/lapins/tronçonneuses/;   

 

Précédente Retour au sommaire Page suivante 
Introduction | Historique | L'esprit Perl | La syntaxe | Perl 6
 
|
Haut de page
Nos autres sites Société | Mentions légales | Contacts | Publicité | PA Emploi | Presse | Recrutement | Tous nos sites | Données personnelles
© Benchmark Group, 69/71 avenue Pierre Grenier. 92517 Boulogne Billancourt Cedex