我有一个像这样的目录结构:
/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。建议非常感谢。
谢谢!
答案 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可以计算出您的结构并找到它需要的内容