Beware. Dot is not at the end of @INC if you're running as root, so you just inserted your directory at some arbitrary place in the middle.
If you don't want dot, remove it:
@INC = grep { $_ ne "." } @INC, $your_path;
-- Randal L. Schwartz, Perl hacker
Be sure to read my standard disclaimer if this is a reply. | [reply] [d/l] |
BTW, if all you want to do is add another directory for including modules in your code, use the 'use lib' directive instead. Rather than adding a directory to @INC as you have done, do this:
use lib '/home/user/directory';
Now of course, your example uses a variable to add to @INC rather than a string. 'use lib' will not take a variable since it's done during the compile stage. And why remove the last entry (the dot) from the list in the first place? You can just push @INC, $your_path right off the bat. Unless you for some reason require that perl search your directory before the current one for modules. Though I suppose the current directory should be checked as a last resort :) Maybe I'll quiet down...
-------------------------------------
eval reverse@{[lreP
=>q{ tsuJ\{qq},' rehtonA'
,q{\}rekcaH },' tnirp']}[1+1+
1,1-1,1+1,1*1,(1+1)*(1+1)];
-------------------------------------
| [reply] [d/l] [select] |
| [reply] |
Would it be an option to do something like:
$a="/my/module/path";
eval "use lib '$a'";
eval { use MyModule; }
I recall once using eval & use together to dynamically load specific modules when needed... This was before I knew about AUTOLOAD and SelfLoader and all... | [reply] [d/l] |
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)];
-------------------------------------
| [reply] [d/l] |