Section courante

A propos

Section administrative du site

Dans le langage Perl, la façon d'écrire une procédure et une fonction est vraiment semblable. On constate que la fonction prennent l'apparence d'une procédure!

Procédure

Voici tout d'abord la syntaxe d'une procédure :

sub nomdeprocédure() {
  my (paramètres) = @_;
  instruction_exécuté1;
  instruction_exécuté2;
  instruction_exécuté3;
  ...
}

N.B. Il est a noter qu'il n'est pas nécessaire d'indiquer les paramètres.

Fonction

La fonction de son côté nécessite l'utilisation d'au moins un mot réservé «return» contenu dans le corps de la routine. Il n'y a pas de position obligatoire n'y de nombre limite d'utilisation de l'instruction «return». Voici sa syntaxe :

sub nomdefonction() {
  my (paramètres) = @_;
  instruction_exécuté1;
  ...;
  return valeurderetour;
}

N.B. Il est a noter qu'il n'est pas nécessaire d'indiquer les paramètres.

Appel de fonction ou de procédure

Peu importe que vous appelez une fonction ou une procédure, vous devez dans les deux cas écrire un symbole Et avant la procédure ou la fonction à appeler. Voici sa syntaxe :

&nomdefonction(paramètres)

ou

&nomdeprocédure(paramètres)

Passage par paramètre d'un tableau associatif à une fonction ou une procédure

La technique afin d'arriver à se résultat ressemble un peu au langage C, il faut donc passé par référence un tableau avec un pointeur au moment de l'appel de la procédure ou fonction. Voici sa syntaxe habituel :

sub nomdefonction($) {
   my ($tableauassociatif) = @_;
   traitement $tableauassociatif->{"champs"};
}

my (%tableauassociatif);
$tableauassociatif{'champs'} = "valeur du champs";
&nomdefonction(\%tableauassociatif);

Exemple

Voici un exemple d'une utilisation typique de l'instruction «sub» :

  1. #!/usr/bin/perl
  2.  
  3. sub mafonction() {
  4.  print "Fonction sans retour de valeur !";
  5. }
  6.  
  7. &mafonction;

on obtiendra le résultat suivant :

Fonction sans retour de valeur !


Dernière mise à jour : Jeudi, le 17 janvier 2019