perl - 在 Perl 应用程序中检测编译失败、丢失包等的最简单方法是什么?

标签 perl module

我有一个别人编写的 Perl 应用程序,我正在尝试让它在我的本地计算机上运行。但我不断在其中一个模块中收到错误,该错误似乎是由于某处缺少模块而导致的。有哪些好的工具或实践可以追踪这个问题?

最佳答案

如果您缺少模块,您将收到如下错误:

Can't locate Does/Not/Exist.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.10.0 /usr/local/share/perl/5.10.0 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl .).

追踪 Perl 模块的最佳位置是 CPAN search 。您可以使用 CPAN shell 安装它们,可通过运行:

perl -MCPAN -e shell

您也可以从 Perl 供应商/Linux 发行版获取它们。

为了找到全部,我想到了两种方法:

  1. 当您运行 perl Makefile.PL 时,它应该告诉您需要安装的所有模块。当然,这只是在编写应用程序的人费心让它工作的情况下。

  2. 在文件中搜索“use”和“require”指令。

关于perl - 在 Perl 应用程序中检测编译失败、丢失包等的最简单方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/376930/

相关文章:

perl - 在脚本中更改工作目录的最佳做法是什么?

perl - 如何将哈希中的数据存储在文件中并将其用于另一个哈希

perl - HTTP 响应 : Net/HTTP/Methods. pm 第 542 行中的错误 block 大小

python - 打印当前模块名称的函数,当从另一个模块调用时也是如此

javascript - 如何从其他(非项目)目录将 React Components 作为包/模块导入?

ruby - 获取模块 ruby​​ 中定义的所有类

Powershell 模块初始化

arrays - 对配对数字数组进行排序并删除重复或重叠?

javascript - Crockford 的 deentityify 方法 - The Good Parts 第 41 页

perl - Unicode 规范化 - 文本文件中的文件名与文件系统上的文件名