##
my %code = (
foo => sub { print "Foo\n"; },
bar => sub { print "Bar\n"; },
);
$code{foo}(); # prints "Foo"
$code{bar}(); # prints "Bar"
####
sub bar {
my( $output ) = @_;
$output->();
}
my $foo1 = sub { print "Foo\n"; };
my $foo2 = sub { print "Bar\n"; };
bar( $foo1 ); # prints "Foo"
bar( $foo2 ); # prints "Bar"