为什么Perl不能在@INC中找到我的模块?

时间:2015-07-17 18:49:04

标签: perl cgi

我正在运行一个CGI脚本(曾经工作但突然停止工作)并收到以下错误消息:

Can't locate conn.pm in @INC (@INC contains: /www/my/lib, etc.)

但是,文件conn.pm存储在目录/www/my/lib中。我的CGI脚本在顶部有这些行:

#!/usr/bin/perl -w
use strict;
use CGI;
use CGI::Carp qw(fatalsToBrowser);
use CGI qw(:standard);

use lib "/www/my/lib";
use conn;

// rest of code here ...

任何人都可以权衡我为什么会收到此错误消息?因为@INC变量应该有/www/my/libconn.pm位于该目录中。

更新:在回答下面的评论时,conn.pm拥有权限rwxr-xr-x,其路径中的每个目录都有权限drwxr-xr-x

更新2:在回答其他评论时,这是@ikegami's shell脚本的输出。

$ ./diagnostic.sh
Content-Type: text/plain

USER=<user>
PWD=/home/<user>
===
/www/my/lib
/gedi/dev/lib/perl/BioPerl-1.6.1
/usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi
/usr/lib/perl5/site_perl/5.8.8
/usr/lib/perl5/site_perl
/usr/lib64/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi
/usr/lib/perl5/vendor_perl/5.8.8
/usr/lib/perl5/vendor_perl
/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi
/usr/lib/perl5/5.8.8
.
===

更新3:好的,当我使用Perl自行运行我的CGI脚本时,每@ikegami's条评论都可以。该脚本称为“login.cgi”,当我运行perl login.cgi时,我没有错误。

问题是当我将网络浏览器指向我的索引页面时。索引页面有一个刷新,它执行此操作:

<meta HTTP-EQUIV="REFRESH" content="0; url=/www/my/cgi/login/login.cgi">

是否与重定向到login.cgi的索引页有任何关系?

0 个答案:

没有答案