如何检查 Perl 模块是否是核心的一部分 - 即它是标准安装的一部分?
我正在寻找:
- 命令行命令:
- 在代码中检查的 Perl 子例程/函数
也许问题应该是:我如何知道机器上特定 Perl 安装最初提供了哪些模块? (实际上,现在询问为 How can I tell what modules were originally provided with the specific Perl installation on a machine? 。)
考虑到现在似乎没有一个整体的 Perl 标准安装,至少这个新问题的答案会告诉我第一次安装时我最初安装的是什么。
有了这些知识,如果我保留原始安装程序镜像/包或者知道如何再次在线获取确切的东西,那么我就可以为多台机器进行可重复的 Perl 安装,并了解将出现哪些模块以及将出现哪些模块不是。
为了进一步澄清:我正在研究最初安装时附带的内容、安装过程中提供的模块以及内置的模块。 不是从那时起安装了什么。
我希望能够在已安装的计算机上执行此操作。因此,为此,我将依靠安装以某种形式记录其最初的内容。
我问了衍生问题: How can I tell what modules were originally provided with the specific Perl installation on a machine? (我如何知道机器上特定 Perl 安装最初提供了哪些模块?)
最佳答案
corelist来自 Module::CoreList 的命令module 将确定模块是否为 Core。
> corelist Carp
Carp was first release with perl 5
> corelist XML::Twig
XML::Twig was not in CORE (or so I think)
这是在脚本中使用它的一种方法。 Module::CoreList
POD 太简洁了——您必须浏览源代码才能找到要调用的方法:
use strict;
use warnings;
use Module::CoreList;
my $mod = 'Carp';
#my $mod = 'XML::Twig';
my @ms = Module::CoreList->find_modules(qr/^$mod$/);
if (@ms) {
print "$mod in core\n";
}
else {
print "$mod not in core\n";
}
__END__
Carp in core
关于perl - 如何判断 Perl 模块是核心还是标准安装的一部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2049735/