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
/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
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.
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 (randomly?) looks in the wrong directoryuse lib "modules"; use upload; print $upload::variable;
/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
download.pm => modules/download.pmprint $_ . " => " . $INC{$_} . "<br>" for keys %INC;
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';
Back to
Seekers of Perl Wisdom