sub foo { print "in foo\n" } my %dispatch = ( foo => \&foo, bar => sub { print "in bar\n" }, ); my @data = qw/ foo bar /; $dispatch{$_}->() for @data; __output__ in foo in bar