如何在Perl中指定包版本?

如何在Perl中指定包版本?,第1张

概述我对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. 我对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’的版本使用内置逻辑:

If you have a module that uses a decimal $VERSION (floating point),and you do not intend to ever change that,this module is not for you. There is nothing that version.pm gains you over a simple $VERSION assignment.

因此,您的问题的答案是:如果您正在编写使用version.pm的新代码,请使用新的“v1.0.3”语法.如果您的旧代码是如何编写的,或者如果您不想明确依赖module.pm,请坚持使用普通数字.

总结

以上是内存溢出为你收集整理的如何在Perl中指定包版本?全部内容,希望文章能够帮你解决如何在Perl中指定包版本?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1260396.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存