如何判断Perl模块是核心还是标准安装的一部分?

如何检查Perl模块是否是核心的一部分 – 即它是标准安装的一部分?

我在找:

>命令行命令:
>一个Perl子程序/函数代码中检查

提前致谢。

更新

也许我应该重写问题是:“我怎么知道什么模块最初提供的特定Perl安装在机器上? (更新:其实我现在:How can I tell what modules were originally provided with the specific Perl installation on a machine?)

考虑到现在似乎没有一个整体的Perl标准安装,至少这个新问题的答案将告诉我什么,我最初在安装当它第一次安装。

有了这些知识,如果我保留原来的installater映像/包或知道如何获得确切的事情在线,然后我有一个可重复的Perl安装几个机器,知道什么模块将存在什么模块不会。

进一步澄清:我正在查看安装最初是什么,作为该安装的一部分提供了什么模块,什么是内置的。没有什么已安装自那时起。

我想在安装的机器上做到这一点。所以为了这个,我将依靠安装有一个形式的记录,它的原来是什么。

更新2

提问分离问题:
How can I tell what modules were originally provided with the specific Perl installation on a machine?(如何知道机器上特定Perl安装最初提供的模块?)

解决方法

来自 Module::CoreList模块的 corelist命令将确定模块是否为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

相关文章

1. 如何去重 #!/usr/bin/perl use strict; my %hash; while(...
最近写了一个perl脚本,实现的功能是将表格中其中两列的数据...
表的数据字典格式如下:如果手动写MySQL建表语句,确认麻烦,...
巡检类工作经常会出具日报,最近在原有日报的基础上又新增了...
在实际生产环境中,常常需要从后台日志中截取报文,报文的形...
最近写的一个perl程序,通过关键词匹配统计其出现的频率,让...