Каков здесь рекомендуемый способ избавиться от используемой v-строки/требовать непереносимого предупреждения?

Модуль требует как минимум Perl 5.10.0.

Когда я использую этот модуль с Perl версии 5.10.0, я получаю предупреждение:

v-string in use/require non-portable at ... (line of "use 5.10.0;").

В Perl 5.10.1 это предупреждение удалено.

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

- change all "use 5.10.0" in the distro to "use 5.010_000;"

- add "no warnings 'portable';" to the module

- leave it to the user of Perl 5.10.0 to add "no warnings 'portable';"

- Increase the smallest required version to 5.10.1. 

perl -wE 'use 5.10.0; say $^V'
# v-string in use/require non-portable at -e line 1.
# v5.10.0

person sid_com    schedule 24.12.2013    source источник
comment
Невозможно воспроизвести это в моей системе. Возможно, вам следует создать небольшой пример кода, воспроизводящий вашу проблему.   -  person TLP    schedule 24.12.2013


Ответы (1)


Если вам нужно что-то от 5.10.0 и выше, вам не нужно указывать младшую версию:

use v5.10;

Вы можете рассмотреть возможность использования по крайней мере 5.10.1, в которой были некоторые существенные изменения по сравнению с более ранней второстепенной версией (включая исправление вашего предупреждения):

use v5.10.1;

Но дайте нам образец программы, покажите, какой Perl вы используете, и все такое прочее.

person brian d foy    schedule 24.12.2013
comment
Мне любопытно; не будет ли use 5.010001; считаться лучшей практикой, поскольку использование v-строк все еще вызывает споры? - person DavidO; 25.12.2013
comment
Я буду использовать 5.10.1;. - person sid_com; 25.12.2013
comment
@tchrist выработал у меня привычку, которую я показываю, когда мы работали над программированием на Perl. Я не использую v-стринги ни для чего другого. - person brian d foy; 25.12.2013