如何在Perl中指定包版本?
我对5.10.0之前的文档和最近的
version模块之间的冲突建议感到有些困惑.
Perl Best Practices很清楚版本字符串(‘v1.0.3’)是坏的,一个应该指定一个版本,如下所示:
use version; our $VERSION = qv('1.0.3'); 但版本模块说我们回到使用版本字符串: use version 0.77; our $VERSION = qv("v1.2.3"); 我们退步了,或者这背后有原因吗? 解决方法
您对Perl最佳实践的引用并不完全正确.具体来说,裸露的vstrings形式
our $VERSION = v1.0.3; 气馁.在最新版本的version.pm中,建议使用真正的字符串: use version 0.77; our $VERSION = qv("v1.2.3"); # shorthand 添加此功能是为了提高可读性,同时特别避免描述here所示的裸字符串陷阱. 正如您链接的文档页面所说,您可以在Perl 5.10中使用没有预先挂起的’v’的版本使用内置逻辑:
因此,您的问题的答案是:如果您正在编写使用version.pm的新代码,请使用新的“v1.0.3”语法.如果您的旧代码是如何编写的,或者如果您不想明确依赖module.pm,请坚持使用普通数字. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |