sub test_a {
my $var = "Hello World\n";
}
sub test_b {
print($var); # XXX Doesn't print Hello World.
}
test_a();
print($var); # Doesn't print Hello World.
####
sub test_a {
local $var = "Hello World\n";
}
sub test_b {
print($var); # Prints Hello World.
}
test_a();
print($var); # Doesn't print Hello World.
####
sub test {
$_ = $_[0];
s/([a-z])/uc($1)/eg;
return $_;
}
foreach (qw(a b c)) {
print(test($_), "\n");
}
$ perl script.pl
Modification of a read-only value attempted at script.pl line 3.
####
sub test {
local $_ = $_[0];
s/([a-z])/uc($1)/eg;
return $_;
}
foreach (qw(a b c)) {
print(test($_), "\n");
}
$ perl script.pl
A
B
C