Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Perl 如何修改我的CPAN区域,使其在@INC路径中只需要一个目录?_Perl_Cpan - Fatal编程技术网

Perl 如何修改我的CPAN区域,使其在@INC路径中只需要一个目录?

Perl 如何修改我的CPAN区域,使其在@INC路径中只需要一个目录?,perl,cpan,Perl,Cpan,我已经在我所在的地区安装了一系列CPAN模块。似乎每个软件包都希望在我的前缀下安装在不同的位置 在我的情况下,我必须使用: setenv CPAN_DIR <my root>/perl-5.12.2_cpan setenv PERLLIB $CPAN_DIR/install/lib64/site_perl/x86_64-linux:$CPAN_DIR/install/lib/5.12.2:$CPAN_DIR/install/lib/site_perl/x86_64-linux:$C

我已经在我所在的地区安装了一系列CPAN模块。似乎每个软件包都希望在我的前缀下安装在不同的位置

在我的情况下,我必须使用:

setenv CPAN_DIR <my root>/perl-5.12.2_cpan

setenv PERLLIB $CPAN_DIR/install/lib64/site_perl/x86_64-linux:$CPAN_DIR/install/lib/5.12.2:$CPAN_DIR/install/lib/site_perl/x86_64-linux:$CPAN_DIR/install/lib/site_perl:$CPAN_DIR/install/lib/perl5:$CPAN_DIR/install/lib/site_perl/5.12.2:$CPAN_DIR/install/lib/site_perl/5.12.2/x86_64-linux
setenv CPAN_DIR/perl-5.12.2_CPAN
setenv PERLLIB$CPAN_DIR/install/lib64/site_perl/x86_64-linux:$CPAN_DIR/install/lib/5.12.2:$CPAN_DIR/install/lib/site_perl/x86_64-linux:$CPAN_DIR/install/lib/perl/perl5:$CPAN_DIR/install/lib/lib/site/site_perl/5.12.2:$CPAN_DIR/install/lib/site_perl/5.12.2:$5.12.2
我希望能够设置一个包“发布”区域,该区域只需要:

setenv PERLLIB <one dir>
setenv PERLLIB

使用库“”;

这肯定不是一个新奇的想法。诀窍是什么?

使用lib
和PERL5LIB不仅添加了指定的目录,还添加了它们下面的预期版本或arch子目录。你确定你真的有问题吗


如果是这样的话,你能举一个例子说明use lib不起作用,包括perl-V输出吗?

你为什么要在运行时摆弄PERLLIB?这是您通常应该忽略的内容,但是如果您真的想更改它,请在编译和安装Perl时对其进行配置。在安装模块时,您将向
Makefile.PL
Build.PL
传递哪些参数?您是对的。我一直习惯于使用不起作用的PERLLIB。PERL5LIB和use lib do。
use lib '<one dir>';