my $subname = lc($mmx) . '_' . lc($sah) . '_' . lc($function); *$AUTOLOAD = sub { my $base_sah_ref = shift; # dereference the base "sah" unshift @_, $$base_sah_ref; goto &$subname; # or &{*$subname{CODE}} ?? }; goto &$AUTOLOAD;