gpt4 book ai didi

perl - 如何在 Perl 中指定软件包版本?

转载 作者:行者123 更新时间:2023-12-04 17:59:36 26 4
gpt4 key购买 nike

我对 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 Best Practices 的引用不太正确。具体来说,形式的 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 中指定软件包版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1216113/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com