我正在维护一个包含超过100个.pm文件的CPAN发行版。他们每个人都需要有一个$ VERSION,或者可以将它包含在主模块中吗?
对于发行版中的其他模块,包括或不包括$ VERSION有什么影响?
如果它与问题相关,人们应该只是“使用” - 这个发行版中的主要模块。并且,出于这个问题的目的,我不是在询问如何在任何文件中指定,只是是否它以任何形式出现。
答案 0 :(得分:11)
根据经验,许多模块不会将版本号放在每个.pm
文件中。如果您在b
中执行快照包(cpanp
)并查看生成的文件,您会看到。在我的机器上,添加了 lot 模块的Perl 5.16.2的快照包含7962个模块,但其中2070个包含'undef'作为版本(因此大约四分之一的版本具有undef作为版本)
就我个人而言,我不喜欢这样,因此我模块中的所有.pm
文件 - DBD::Informix - 都在每个版本中标有相同版本(当前版本为2013.0118,所有版本) .pm
文件标有2013.0118作为版本号),但是有很多模块(人)以其他方式完成。
.pm
文件提供版本号。.pm
文件提供版本号,那就更好了。.pm
文件提供相同的版本号是明智的。在我看来,最新的问题出现在模块更新但有些不是时,因此CPANPLUS认为模块已经过时,即使安装最新版本也没有改变任何东西。我现在有5个这样的模块,我非常想把它们全部删除,特别是因为我没有真正使用它们。 (有时,这是由安装在新位置的文件触发的,但我不认为这是唯一原因。我不确定还有什么触发它,但这是一个定期发生的问题。)