在$ work,我们在一个中心位置维护一组Perl模块,以便通过PERL5LIB轻松包含.由于前面有重新安装,我们需要提供32位和64位架构的模块,我们想知道是否最好将它们安装到同一目录树中,依赖于$ archname子目录,或者保留两种架构完全分开并复制每个模块.
我在研究涉及$ archname的Perl模块查找过程的内部工作方面并不是很成功,也许有人可以指出我正确的方向.
根据您的经验,这两种方法的优缺点是什么?
来自perldoc lib:
使用时use lib LIST;
对于 LIST 中的每个目录(
$dir此处称为),lib 模块还会检查名为的目录是否$dir/$archname/auto存在。如果是这样,则该$dir/$archname目录被假定为相应的体系结构特定目录,并添加到 @INC 前面$dir。
lib.pm还检查调用的目录是否$dir/$version存在$dir/$version/$archname并将这些目录添加到@INC。
恕我直言,使用每个体系结构的子目录更惯用,而且我敢说,更简洁,就像 Perl 的标准库一样。
然而,管理您自己的库的每个架构的整个树可能会更直接,尽管一旦您创建了一些基本工具/脚本来执行此操作,管理幅度就不会很大。