我应该只将非核心模块放在Makefile.PL的PREREQ_PM部分中,还是应该将核心模块放在那里?
是的,您应该指定所有依赖项:Perl Core永远不会被修复.核心模块一直在添加或删除(在弃用过程之后).指定所有依赖项...
...将使您的程序在将来从已从Core移除模块的perls中工作.它仍然可以从CPAN获得.例如,Term::UI
自v5.9.5起是一个Core模块,但在v5.19.0中被删除.
...将断言安装了足够高的核心模块版本.有些模块随着时间的推移而发生了很大变化,很容易忘记五年前并非所有模块都可用.
...将使你的程序在没有将模块包含到Core中的旧的perls上工作,但仍然可以使用它.
另一方面,这些可能是非常小的收益.如果你忘记指定像Carp
依赖这样的中央模块,那么什么都不会破坏.
请记住:Core中包含模块有三个原因:
Perl的核心内容,strict
不会被删除.
下载和安装CPAN模块所需的东西.这包括文件系统处理.这里偶尔会发生变化.
历史悠久的残酷.Pleeease抛出CGI.pm ;-)
提示:使用该corelist
工具Module::Corelist
查看perl版本中可用的模块版本.