use strict; use warnings; my $myFunction = sub { print "Hey, I am from Italy! @_\n"; }; printList(1, 2, 3, 4); $myFunction = sub { print "Hey, I am from Japan! @_\n"; }; printList(5, 6, 7); sub printList { print "\nprintList was called.\n"; &$myFunction->(); } exit; # # This program should print: # # printList was called. # Hey, I am from Italy! 1 2 3 4 # printList was called. # Hey, I am from Japan! 5 6 7 #