use feature 'say';
undef &say;
*say = \¬_say;
say 'test';
sub not_say {
print 'not saying';
}
####
use strict;
use warnings;
use 5.012;
#Rule: sub names are entered into the symbol table.
sub abc {
print "abc\n";
}
sub xyz {
print "xyz\n";
}
local *abc; #gets rid of 'redefined main::abc' warning'
*abc = \&xyz;
abc;
--output:--
xyz
####
use strict;
use warnings;
use 5.012;
sub xyz {
print "xyz\n";
}
local *say;
*say = \&xyz;
say 'hello';
--output:--
hello
####
use strict;
use warnings;
use 5.012;
use subs qw( say ); #Supposedly overrides a built in
my $verbose = 1;
sub say {
if ($verbose) {
print shift, " world\n";
}
}
say 'hello';
--output:--
hello