$divesub = sub { somesub('divesub') }; $raisesub = sub { somesub('raisesub') }; sub somesub { if ( $_[0] eq "divesub") { &dive; } else { &surface; } } #### $divesub = \&divesub; $raisesub = \&raisesub; sub AUTOLOAD { (my $sub = $AUTOLOAD) =~ s/.*:://; if ( $sub eq "divesub" ) { &dive; } else { &surface; } }