http://www.journaldunet.com/developpeur/tutoriel/cgi/070108-perl-guide-pratique/3.shtml Lancer l'impression





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.   }

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 
Copyright 2006 Benchmark Group - 69-71 avenue Pierre Grenier, 92517 Boulogne Billancourt Cedex, FRANCE
Lancer l'impression