use strict; sub func { print "func ran\n"; } my %dispatch = ( func => \&func ); my $var = 'func'; &{$dispatch{$var}}();