$ dir test/
total 8
-rw------- 1 eric users 21 2009-06-02 10:53 Module.pm
-rwx------ 1 eric users 29 2009-06-02 10:54 script.pl*
$ cat test/script.pl
#!/usr/bin/perl
use Module;
$ cat test/Module.pm
package Module;
1;
$ test/script.pl
Can't locate Module.pm in @INC (@INC contains: /home/eric/lib/perl5/i4
+86-linux-gnu-thread-multi /home/eric/lib/perl5 /etc/perl /usr/local/l
+ib/perl/5.8.8 /usr/local/share/perl/5.8.8 /usr/lib/perl5 /usr/share/p
+erl5 /usr/lib/perl/5.8 /usr/share/perl/5.8 /usr/local/lib/site_perl .
+) at test/script.pl line 2.
BEGIN failed--compilation aborted at test/script.pl line 2.
It's bad to assume the working directory is set to the directory in which the script resides. Fix:
use Cwd qw( realpath );
use File::Basename qw( dirname );
use lib dirname(realpath($0));
|