相同或不同目录树中的不同体系结构?

时间:2010-07-22 21:01:52

标签: perl perl-module

在$ work,我们在中心位置维护一组Perl模块,以便通过PERL5LIB轻松包含。由于前面有重新安装,我们需要提供32位和64位架构的模块,我们想知道是否最好将它们安装到同一目录树中,依赖于$ archname子目录,或者保留两种架构完全分开并复制每个模块。

我在研究涉及$ archname的Perl模块查找过程的内部工作方面并不是很成功,也许有人可以指出我正确的方向。

根据您的经验,这两种方法的优缺点是什么?

2 个答案:

答案 0 :(得分:3)

来自perldoc lib

使用use lib LIST;

  

对于LIST中的每个目录(称为   $dir这里也是lib模块   检查是否有一个名为的目录   $dir/$archname/auto存在。如果是这样   $dir/$archname目录是   假设是对应的   特定于体系结构的目录和   在$dir前添加到@INC。

     

lib.pm也检查目录   叫$dir/$version和   $dir/$version/$archname存在并且   将这些目录添加到@INC。

恕我直言,它更像是惯用的 - 我敢说,更整洁 - 使用per-architecture子目录,就像Perl的标准库一样。

然而,在您创建一些基本工具/脚本之后,管理您自己的库的每个体系结构的整个树的情况会更加简单。

答案 1 :(得分:1)

在每个系统上单独构建模块,以便只获取所需的文件。或者使用区分架构的包装系统。不要尝试为所有系统提供所有体系结构的文件。