如何检查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