如何组织Perl模块

时间:2015-12-21 23:23:21

标签: perl

我有一个像这样的目录结构:

/path/to/lib/perl5/5.22.1

我已在该目录中以特定格式安装了一些perl模块:

ls
Data-UUID  IPC-System-Simple  JSON  Log-Message  Math-Gradient  Term-UI

例如,如果你进入JSON,目录看起来像这样:

/path/to/lib/perl5/5.22.1/JSON/2.53

我的所有模块都是这样组织的:

/path/to/lib/perl5/5.22.1/Module-name/Module-version/...

我已将/path/to/lib/perl5/5.22.1添加到我的PERL5LIB中,如下所示:

export PERL5LIB=/path/to/lib/perl5/5.22.1:$PERL5LIB

但我的脚本无法找到perl模块。你认为目录结构有问题吗?我刚刚创建了这个结构,所以我将它组织为perl-module-name / module-version。建议非常感谢。

谢谢!

2 个答案:

答案 0 :(得分:7)

给出列出目录的名称:

  

Data-UUID IPC-System-Simple JSON Log-Message Math-Gradient Term-UI

您似乎没有安装模块。看起来您已下载了软件包tarball,将其解压缩,然后不运行安装程序

您需要进入每个目录并且:

perl Makefile.PL
make
make test
make install

更好的是,使用cpanm或其他下载模块的程序安装它们,解决它们的依赖关系并为您安装。

答案 1 :(得分:4)

Perl需要PERL5LIB指定的路径中的特定目录结构。例如,IPC-System-Simple必须安装在文件IPC/System/Simple.pm中。您不仅可以编写目录结构,而且希望Perl可以计算出您的结构并找到它需要的内容