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

AlexTape has asked for the wisdom of the Perl Monks concerning the following question:

Omniscient Monks,

i try to "use lib" in a cgi environment.

datastructure:

# test environment
/home/user/test-workspace/trunk/index.pl
..
/home/user/test-workspace/trunk/modules/
/home/user/test-workspace/trunk/modules/upload.pm
/home/user/test-workspace/trunk/modules/download.pm
..

# productive environment
/home/user/webpage/trunk/index.pl
..
/home/user/webpage/modules/
/home/user/webpage/modules/upload.pm
/home/user/webpage/modules/download.pm
..

Server Root = /home/user/anotherPage/

/home/user/test-workspace/trunk/index.pl
use lib "modules"; use upload; print $upload::variable;
use lib (randomly?) looks in the wrong directory
/home/user/webpage/modules/

i tried FindBin, but itīs completely weird.

he gets the upload.pm out of the relative /modules (/home/user/test-workspace/trunk/modules/upload.pm)
but the other modules are loaded from here:/home/user/webpage/modules/download.pm
- i dont understand that..

i see that there are actually three locations
print $_ . " => " . $INC{$_} . "<br>" for keys %INC;
download.pm => modules/download.pm
upload.pm => /home/user/webpage/modules/upload.pm
transfer.pm => /home/user/test-workspace/trunk/module/transfer.pm

but all of them should be located in
/home/user/test-workspace/trunk/modules/

kindly.. perlig.
$perlig =~ s/pec/cep/g if 'errors expected';