我试图将一些Perl模块安装到非标准位置,让我们调用它/non/standard/location.我用了
perl Makefile.PL PREFIX=/non/standard/location
make;make install
Run Code Online (Sandbox Code Playgroud)
安装它们.
在使用该模块的脚本中,似乎有必要指定一个包含Perl版本的长目录路径,如下所示:
#!/usr/local/bin/perl
use lib '/non/standard/location/lib/perl5/site_perl/5.8.9/';
use A::B;
Run Code Online (Sandbox Code Playgroud)
是否有任何use lib或其他声明我可以使用哪个不长且冗长,并且不包括Perl的实际版本,以便我不必返回并编辑此程序如果版本Perl的升级?
可能没有解决你的所有问题,但你知道local :: lib吗?当它在系统perl中可用时,你可以use local::lib.如果不:
use lib glob '~/perl5/lib/perl5';
use local::lib;
Run Code Online (Sandbox Code Playgroud)
这可能有点限制 - 不确定它在Windows上是如何工作的 - 但它对我的目的来说已经足够了.当然,如果你可以设置环境脚本运行之前(.bashrc,SetEnv等等),你可以忘掉的use lib glob,因为正确的道路将在已经设置PERL5LIB.
| 归档时间: |
|
| 查看次数: |
171 次 |
| 最近记录: |