my $oldsub_ref = \&oldsub; $oldsub_ref->(2); print '-' x 10; *oldsub = \&newsub; $oldsub_ref->(2); #### my $sref = \&oldsub; sub oldsub { my $level = shift; print "oldsub [$level]"; $sref->($level - 1) if $level > 0; }