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