我需要为我的Perl脚本安装一些Perl模块。 但是,这些模块在我想运行脚本的服务器上不可用。 我也不想混淆服务器范围的库目录。 我认为可以通过操作“@INC”variables来完成。 我需要知道如何使用cpan和备用@INC安装新模块。
或者,将我自己的Perl二进制文件/环境与我的脚本绑定也是有意义的。 有任何想法吗?
很长的答案可以在这里find: http : //www.devdaily.com/perl/edu/articles/pl010015
简短的回答,把你的模块,说, /home/face429/perlmodules ,然后在你的Perl程序使用: use lib '/home/face429/perlmodules'; 。
要检查该path是否已被包含到@INC用法,您可以打印@INC 。
您当前的目录是Perlsearchpath的一部分。
perl -V会显示@INC的内容,其中包括“。” (当前目录)。
请注意,您的当前目录完全是您的脚本所在的目录。 如果这是在Web服务器上运行,它将很容易中断。
你也可以通过在脚本中use lib '/your/perl/modules'来添加一个特定的path,正如favoretti所解释的那样。
最后,您可以通过环境variablesPERLLIB为所有脚本添加一个path,因此不必在每个脚本中都use lib 。
PERLLIB=/your/perl/modules
或者在Windows中SET PERLLIB = C:/your/perl/modules 。