my %dispatch = (  1 => \&XYDFASDF::doOne,  2 => \&XYDFASDF::doTwo,  3 => \&XYDFASDF::doThree, ); my $action = 2; my $object = XYDFASDF->new(); if (exists $dispatch{$action}) {  $dispatch{$action}->($object); }