====== 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);