my %dispatch = (foo => \&foo, bar => \&bar ); foreach my $func (keys %dispatch) { &{ $dispatch{$func} }; } sub foo { print "foo\n"; } sub bar { print "bar\n"; }