my_our_local.txt
#============================================================================
package MyPackage;
our $foo = "123"; # package variable
my $bah = "456"; # lexical variable
if($foo eq "123") {
local $foo = "i'm local!";
my $bah = "BAH"; # enclosed to if { ... }
print $foo; # i'm local
print $bah; # BAH
}
print $foo; # 123
print $bah; # 456
sub get_foo {
return $foo;
}
#============================================================================
package main;
if("true") {
local $MyPackage::foo = "i'm in main?";
print $MyPackage::foo; # i'm in main?
}
print $MyPackage::foo; # 123
print $MyPackage::bah; # wrong! - cannot reach lexical variable!
$MyPackage::foo = "YO";
print MyPackage::get_foo(); # YO