Difference between my and local
$friend="friend"; # Global variables
$pal="Tom";
print "$friend and $pal are global.\n";
sub guests {
my $friend="Pat"; # Lexically scoped variable
local $pal="Chris"; # Dynamically scoped variable
print "$friend and $pal are welcome guests.\n";
&who_is_it;
}
sub who_is_it {
print "global, $friend, here.\n";
print "pal is now $pal.\n"; # Dynamically scoped
}
&guests;
print "Global friends are back: $friend and $pal.\n";
Related examples in the same category