Perl: Les fonctions

Fonction Test simple

# Déclaration de la fonction Test
sub Test
{
}

# Et son appel
Test();

Fonction Test2 avec parametres

# Déclaration de la fonction Test
sub Test2
{
   my ($param1, $param2 ) = @_;

  print($param1." ".$param2."\n");
}

# Et son appel
Test2("aaa", 123);

Fonction Test3 avec plusieurs parametres de retour

# Déclaration de la fonction Test
sub Test3
{
   my ($param1, $param2 ) = @_;

  print($param1." ".$param2."\n");
  my $r1 = $param2;
  my $r2 = "abcdef ".$param2;
  return ($r1, $r2);
}

# Et son appel
 my ($result1, $result2 ) = Test3("aaa", 123);

On référence une variable Perl en précédant son identificateur d'un

$scalaire = 4; @tableau = (1,2,3,4,5,6); $refscal = \$scalaire; $reftab = \@tableau; $refhac = \%hache;

References

Une reférence est un variable de type scalaire, on peut donc corriger ce qui a été indiqué en section 2.1, un scalaire est un nombre, une chaîne de caractère ou une référence.

Pour déréférencer une variable contenant une référence, on précéde son identificateur d'un $,@ ou % en fonction du type de données qu'elle référence.

$scalaire = 4;
@tableau = (1,2,3,4,5,6);
%hache = ("a",1,"b",2,"c",3);
$refscal = \$scalaire;
$reftab  = \@tableau;
$refhac  = \%hache;
$$refscal = 5;            ⇐⇒ $scalaire = 5;
@$reftab = (7,8,9)        ⇐⇒ @tableau = (7,8,9);
$$reftab[0] = 2;          ⇐⇒ $tableau[0] = 2;
%$refhac = ("d",4,"e",5,"f",6); 
           ⇐⇒ %hache = ("d",4,"e",5,"f",6);