http://qs321.pair.com?node_id=222376


in reply to Re^2: modify @INC
in thread modify @INC

Mmm... I just ran a test script and got a working version, but I can't get it to not display warning messages.

BEGIN { my $a = "c:/"; use lib "$a"; } use GetWords; print new GetWords;

The warning message (without -w swicth or 'use warnings'):

Empty compile time value given to use lib at C:\Documents and Settings\mt2k\De sktop\testing.pl line 3

-------------------------------------
eval reverse@{[lreP
=>q{ tsuJ\{qq},' rehtonA'
,q{\}rekcaH },' tnirp']}[1+1+
1,1-1,1+1,1*1,(1+1)*(1+1)];
-------------------------------------

Replies are listed 'Best First'.
Re^4: modify @INC
by Aristotle (Chancellor) on Dec 26, 2002 at 17:44 UTC
    Mm?
    my $somewhere; BEGIN { $somewhere = q(/over/the/rainbow) } use lib $somewhere;

    Makeshifts last the longest.

Re^4: modify @INC
by diotalevi (Canon) on Dec 26, 2002 at 23:02 UTC

    Oh yeah.. that's funny. Get this - right as soon as the implicit BEGIN (via the use) is parsed inside the currently-being-parsed BEGIN block it is executed. So you're attempting to use $a in your nested BEGIN block prior to defining it. See?

    BEGIN { my $a = "c:/"; BEGIN { require "$a"; import "$a"; } }

    Fun Fun Fun in the Fluffy Chair