if ($var eq 'one') { &subOne; } elsif ($var eq 'two') { &subTwo; } ... elsif ($var eq 'ten') { &subTen; } else { die "Invalid \$var"; } #### my %subs = ( one => \&subOne, two => \&subTwo, ... ten => \&subTen, ); if ( exists $subs{$var} ) { &{$subs{$var}}; } else { die "Invalid \$var"; }