如何编辑@INC条目包括模块的一个新的目录 [英] how to edit @INC entry to include a new directory for modules
问题描述
我不知道我怎么能在我的Perl设置添加一个新的目录也被搜索到包含的模块?
当我运行这行:
perl的-w /var/www/cgi-bin/upload.cgi
我收到以下错误:
@INC中无法找到config.pm(@INC包含:/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)在/var/www/cgi-bin/upload.cgi 5号线。
BEGIN失败 - 编译在/var/www/cgi-bin/upload.cgi 5行终止。
和我搜索谷歌,显然我应该包括 /无功/网络/ cgi-bin目录
作为一个文件夹,以便Perl可以找到它,包括它。
更多信息
下面是方案的最上面几行:
使用严格的;
使用库'。;
使用XFSConfig; #此固定用-I命令行开关
使用XUpload; #这将返回是一个错误!
使用CGI ::鲤鱼QW(fatalsToBrowser);
使用CGI;
使用LWP :: UserAgent的;
有几种方法,其中许多是覆盖<一个href=\"http://search.cpan.org/perldoc?perlfaq8#How_do_I_add_a_directory_to_my_include_path_%28@INC%29_at_runtime?\"><$c$c>perlfaq8$c$c>:如何添加一个目录来我包含在运行时路径?
1)使用 -I
命令行开关
perl的-w -I在/ var / WWW / cgi-bin目录/var/www/cgi-bin/upload.cgi
2)使用 PERLLIB
或 PERL5LIB
环境变量
出口PERLLIB =$ PERLLIB:在/ var / WWW / cgi-bin目录
perl的-w /var/www/cgi-bin/upload.cgiPERL5LIB =$ PERL5LIB:在/ var / WWW / cgi-bin目录perl的-w /var/www/cgi-bin/upload.cgi
3)使用 LIB
编译在code
#附近/var/www/cgi-bin/upload.cgi上方某处
使用严格的;
使用警告;
使用库'的/ var / WWW / cgi-bin目录;
I was wondering how I can add a new directory in my perl settings to also be searched for modules to be included?
When I run this line :
perl -w /var/www/cgi-bin/upload.cgi
I get the following error :
Can't locate config.pm in @INC (@INC contains: . /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) at /var/www/cgi-bin/upload.cgi line 5.
BEGIN failed--compilation aborted at /var/www/cgi-bin/upload.cgi line 5.
And I searched Google and apparently I should include /var/www/cgi-bin
as a folder so that Perl can locate it and include it.
MORE INFO
here are the top few lines of the program :
use strict;
use lib '.';
use XFSConfig; #this was fixed by using -I command line switch
use XUpload; # this returns as an error!!!
use CGI::Carp qw(fatalsToBrowser);
use CGI;
use LWP::UserAgent;
There are several ways, many of them covered in perlfaq8
: How do I add a directory to my include path at runtime?
1) Use the -I
command line switch
perl -w -I/var/www/cgi-bin /var/www/cgi-bin/upload.cgi
2) Use the PERLLIB
or PERL5LIB
environment variables
export PERLLIB="$PERLLIB:/var/www/cgi-bin"
perl -w /var/www/cgi-bin/upload.cgi
PERL5LIB="$PERL5LIB:/var/www/cgi-bin" perl -w /var/www/cgi-bin/upload.cgi
3) use the lib
pragma in your code
# somewhere near the top of /var/www/cgi-bin/upload.cgi
use strict;
use warnings;
use lib '/var/www/cgi-bin';
这篇关于如何编辑@INC条目包括模块的一个新的目录的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!