my %dispatch = ( something => \&my_sub ); $dispatch{something}->("Hello, world."); sub my_sub { my $param = shift; print "my_sub says `$param'"; } __END__ Output: my_sub says `Hello, world.'