$ perl -le " use warnings; sub foo { warn 1 } foo(); local *foo; sub foo { warn 2 } foo(); " Subroutine foo redefined at -e line 1. 2 at -e line 1. Undefined subroutine &main::foo called at -e line 1.