sub A { print "in A\n" } my $oldA = *{main::A}{CODE}; sub A { print "entering A\n"; &$oldA(@_); print "leaving A\n"; }