use Module; # Execute module first so it doesn't replace you!
BEGIN {
package Module;
no warnings 'override';
sub func {
...
}
}
####
use Module; # Execute module first so it doesn't replace you!
BEGIN {
package Module;
no warnings 'override';
*func = sub {
...
};
}
####
use Module; # Execute module first so it doesn't replace you!
BEGIN {
package Module;
no warnings 'override';
my $orig_func = \&func;
sub func {
...
$orig_func->(...)
...
};
}
####
use Module; # Execute module first so it doesn't replace you!
{
package Module;
no warnings 'override';
my $orig_func = \&func;
local *func = sub {
...
$orig_func->(...)
...
};
# Replaced from here.
...
# Replaced until here.
}
####
>perl -c -we"sub foo { my $x; sub bar { $x } }"
Variable "$x" will not stay shared at -e line 1.
-e syntax OK