Outils pour utilisateurs

Outils du site


perl:introduction_generale_et_pratique

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
perl:introduction_generale_et_pratique [2013/03/12 22:58] – [Les variables] rootperl:introduction_generale_et_pratique [2013/03/12 23:39] (Version actuelle) root
Ligne 1: Ligne 1:
 +====== Introduction ======
 +
 ====== 1. Contexte ====== ====== 1. Contexte ======
  
Ligne 118: Ligne 120:
  
 On retrouve une syntaxe similaire au C pour la boucle classique : On retrouve une syntaxe similaire au C pour la boucle classique :
 +<code perl>
    for ($i = 0; $i < 5; $i++) { ... }    for ($i = 0; $i < 5; $i++) { ... }
 +</code>
  
 Mais on peut aussi facilement parcourir une liste : Mais on peut aussi facilement parcourir une liste :
 +<code perl>
    foreach (@menu) { print "au menu: $_\n"; }    foreach (@menu) { print "au menu: $_\n"; }
 +</code>
  
 Et on a le droit de choisir l'ordre dans lequel on écrit les instructions ! Et on a le droit de choisir l'ordre dans lequel on écrit les instructions !
 +<code perl>
    print "au menu: $_\n" foreach (@menu);    print "au menu: $_\n" foreach (@menu);
 +</code>
  
 De même pour les tests : De même pour les tests :
 +<code perl>
   if ($menu[0]] eq "salade") { print "Encore de la salade!"; }   if ($menu[0]] eq "salade") { print "Encore de la salade!"; }
   print "Encore de la salade!"; if $menu[0] eq "salade";   print "Encore de la salade!"; if $menu[0] eq "salade";
 +</code>
 ===== Les fonctions ===== ===== Les fonctions =====
  
 Il existe de nombreuses variantes pour déclarer une fonction, la plus courante en Perl étant la plus simple : Il existe de nombreuses variantes pour déclarer une fonction, la plus courante en Perl étant la plus simple :
 +<code perl>
   sub somme_entiers {   sub somme_entiers {
   return $_[0] + $_[1];   return $_[0] + $_[1];
   }   }
   print somme_entiers(4, 9);   print somme_entiers(4, 9);
 +</code>
  
 Une fonction n'a pas nécessairement de prototype, et les arguments sont passés à la fonction via la liste **@_**. Chaque argument est passé par référence et peut donc être modifié par la fonction. Le type de retour est libre, les fonctions en Perl sont polymorphes (on peut renvoyer un entier, une chaîne ou une liste dans une même fonction). Une fonction n'a pas nécessairement de prototype, et les arguments sont passés à la fonction via la liste **@_**. Chaque argument est passé par référence et peut donc être modifié par la fonction. Le type de retour est libre, les fonctions en Perl sont polymorphes (on peut renvoyer un entier, une chaîne ou une liste dans une même fonction).
- 
 ===== Les expressions régulières ===== ===== Les expressions régulières =====
  
 Elles sont partie intégrante de Perl et en fait la particularité la plus notable du langage. Une expression regulière est un mécanisme de recherche et d'extraction d'information dans les chaînes de caractère. Dans le cas le plus simple, on peut simplement vérifier si un mot est présent : Elles sont partie intégrante de Perl et en fait la particularité la plus notable du langage. Une expression regulière est un mécanisme de recherche et d'extraction d'information dans les chaînes de caractère. Dans le cas le plus simple, on peut simplement vérifier si un mot est présent :
 +<code perl>
   print "On a un probleme" if $message =~ /erreur/;   print "On a un probleme" if $message =~ /erreur/;
 +</code>
  
 On peut également reconnaître un format de chaîne et en extraire certains éléments : On peut également reconnaître un format de chaîne et en extraire certains éléments :
 +<code perl>
   print somme_entiers($1, $2) if ($message =~ /^somme de (\d+) et (\d+)/) >= 2;   print somme_entiers($1, $2) if ($message =~ /^somme de (\d+) et (\d+)/) >= 2;
 +</code>
 ===== Modules ===== ===== Modules =====
  
perl/introduction_generale_et_pratique.1363129089.txt.gz · Dernière modification : 2013/03/12 22:58 de root