my $x; <- this one. { my $y; <- not this one. ... } { my $z; <- this one. sub f { ... } } #### my $x = 'shadowed'; # <- invisible { my $x = 'shadowing'; # <- visible sub f { say "I only see the \$x that's $x." }; }