$foo = 'foo'; sub printfoo { print $foo; } printfoo(); # prints 'foo' { local $foo = 'bar'; printfoo(); # prints 'bar' } printfoo(); # prints 'foo' #### $foo = 'foo'; sub printfoo { print $foo; } printfoo(); #prints 'foo' { my $hidden_foo = $foo; $foo = 'bar'; &printfoo(); #prints 'bar' $foo = $hidden_foo; } printfoo() #prints 'foo'