in reply to Re: Scope in use
in thread Scope in use

The following also works, though is equally surprising that it is needed.

my $lib; use lib $lib = '.';

This works because variables declared at one scope are accessible from scopes inside the declaring scope.

Unfortunately, there isn't a good way to change this. It can, and probably should be, documented in the page for use and, maybe, also in the page for the lib pragma.

(Maybe a warning could be added when parsing use to remind people that my inside use has no effect and suggest alternate syntax.)

Replies are listed 'Best First'.
Re^3: Scope in use
by LanX (Saint) on Sep 06, 2017 at 22:34 UTC
    I think it's enough to document it together with scoping in general - Wherever that happens - as edge case of the "till the end of the surrounding block" rule.

    Cheers Rolf
    (addicted to the Perl Programming Language and ☆☆☆☆ :)
    Je suis Charlie!