use warnings; sub FUNC{ print "I'm in func\n"; } { local(*FUNC) = sub { print "now overridden\n"; }; FUNC(); ## THIS IS LINE 6 } FUNC(); __END__ Subroutine main::FUNC redefined at - line 6. now overridden I'm in func