Sounds like the @INC array is different in the
two different scenarios. There are a number of ways that
this can happen.
- A script can use use lib to change
@INC explicitly.
- The value of PERL5LIB could be set either in a .profile (remember that the web server probably runs as a different user) or perhaps the web server is configured to change it.
- The current directory is always in @INC. That
could be different.
Also, as the web server runs as a different user, you might not have the correct permissions to read the module file (are you seeing an error message?)
Perhaps printing out the value of @INC at the
start of the program would point out differences. It's also
worth looking at the contents of %INC which
contains the list of loaded modules together with the path
that they are loaded from.
Update: The esteemed chromatic reminds me that
if you're running you CGI script in taint mode (as we all
should do all the time) then the current directory
won't be in @INC. This may effect your
investigation.
--
<http://www.dave.org.uk>
"The first rule of Perl club is you don't talk about
Perl club."
|