Στην perl μπορούμε να γράψουμε αυτό:
$print_hello = sub { print "Hello, world! " . $_[0] ."\n"}; $print_hello->(2);
Η μεταβλητή $print_hello είναι ουσιαστικά μια συνάρτηση και πρέπει να την αποαναφέρουμε (dereference) για να την καλέσουμε.
Τώρα αυτό μπορούμε να το κάνουμε συνάρτηση ως εξής:
sub print_hello_generator { return sub { print "Hello, world!\n"; } } my $print_hello = print_hello_generator(); $print_hello->();
Δημιουργήσαμε δηλαδή μια γεννήτρια συναρτήσεων, η οποία επιστρέφει συναρτήσεις...