Вопрос

Я немного сбит с толку противоречивыми рекомендациями между документами до 5.10.0 и более поздними версия модуль. Лучшие практики Perl становится довольно ясно, что строки версии ('v1.0.3') являются плохими, и предполагается, что нужно указать версию следующим образом:

use version; our $VERSION = qv('1.0.3');

но модуль version говорит, что мы возвращаемся к использованию строк version:

use version 0.77; our $VERSION = qv("v1.2.3");

Мы регрессировали, или за этим стоит какая-то причина?

Это было полезно?

Решение

Ваша цитата из Лучшие практики Perl это не совсем правильно.В частности, голый завязки формы

our $VERSION = v1.0.3;

обескуражены.В последней версии version.pm рекомендуется использовать истинные строки:

use version 0.77; our $VERSION = qv("v1.2.3");               # shorthand

Эта функциональность была добавлена, чтобы улучшить читаемость и, в частности, избежать ловушек, связанных с описанными пустыми строками здесь.

Как говорится на странице документа, на которую вы ссылаетесь, вы можете использовать версии без предварительного "v", используя встроенную логику в Perl 5.10:

Если у вас есть модуль, который использует десятичную $ ВЕРСИЮ (с плавающей запятой), и вы не собираетесь когда-либо менять это, этот модуль не для вас.Нет ничего, что версия.ПМ успехов вам более простое присваивание $версия.

Итак, ответ на ваш вопрос таков:используйте новый синтаксис "v1.0.3", если вы пишете новый код, который использует version.pm.Используйте простое число, если именно так был написан ваш старый код, или если вы не хотите явно зависеть от module.pm.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top