use strict; use warnings; $\="\n"; *tst=sub { print "orig" }; tst(); my $safe=\&tst; { no warnings; *tst=sub { print "new"}; } tst(); { no warnings; *tst=$safe; } tst();