Nous voyons quelques exemples concrets.
Nous montrons ici une application connue sous le nom de closure.
Exemple 2-1. Appel de closure
sub myprint {
my $x = shift;
return sub { my $y = shift; print "$x, $y!\n"; };
}
$h = myprint("Salut!");
$g = myprint("Perl ");
# .........
$h pointe sur le code:
sub { my $y = shift; print "Salut!, $y!\n"; }
$g pointe sur le code:
sub { my $y = shift; print "Perl , $y!\n"; }
Maintenant nous pouvons appeler nos routines, qui sont comme des modèles affectés à une tâche précise
mais paramétrable:
&$h("Monde nouveau!");
&$g("bless objetcs.");
ce qui imprimera les messages suivants:
Salut! Monde nouveau!
Perl bless objects.
Les closures sont un peu délicates à saisir, mais cet effort sera payant pour une meilleure compréhension
des objets.