use strict; { my $foo = 2; { my $foo = 1; # masks outer $foo my $bar = $foo; print "foo is '$foo'\n"; # foo is '1' } print "foo is '$foo'\n"; # foo is '2' print $bar; # # error, $bar not visible here my $foo; # warning: $foo already declared # as lexical in this scope. } print "foo = $foo\n"; # error, $foo not visible here