我不明白use local::lib那个常规use lib没有什么。有人可以解释一下吗?
3323 次
3 回答
20
local::lib
~/perl5如果您不指定目录(虽然use lib;是无操作) ,则默认为。在将相对路径添加到
@INC. (lib只需按原样添加相对路径。)展开
~并~user在目录名称中。附加
/lib/perl5到您指定的目录。(所以use local::lib '/foo';有点等价于use lib '/foo/lib/perl5';。)预先添加
DIR/bin到您的 PATH 中,因此您可以使用本地模块安装的脚本。
于 2011-01-26T09:12:39.810 回答
6
use lib将目录添加到您的模块搜索路径 ( @INC)。use lib它对包含该指令的程序或模块之外的任何内容都没有影响。
local::lib旨在用于启用私有模块安装目录,如果您按照推荐的方式配置 shell 环境,此私有目录将用于所有 Perl 模块安装(无论是通过 CPAN 还是手动make install),并且安装在那里的模块将可用于在您的local::lib-aware shell 环境中运行的所有 Perl 程序/模块。
于 2011-01-26T09:15:14.490 回答
5
常规use lib foo几乎就像:
BEGIN { unshift(@INC, foo) }
而use local::lib设置许多其他 Perl 环境变量以确保您可以在本地安装模块,请参阅源代码。
于 2011-01-26T09:04:31.410 回答