##
sub foo1 { print 'Foo! One' };
sub foo2 { print 'Foo! Two' };
bar( \&foo1 );
bar( \&foo2 );
####
sub foo1 { print 'Foo! One' };
sub foo2 { print 'Foo! Two' };
use vars '$output';
sub bar {
$output->();
};
local $output = \&foo1;
bar();
local $output = \&foo2;
bar();
####
sub foo { print 'Foo!' };
sub bar {
foo();
};
bar();
{
local *foo = sub {
print 'Foo! reloaded!';
};
bar();
}