Почему Perl не использует последнюю версию по умолчанию?

Когда я пытаюсь использовать новые функции Perl (например, «сказать» вместо «печать»), код завершается ошибкой, пока я не вставлю строку «использовать 5.014;» а затем все работает.

Моя установленная версия perl - 5.14.2, и похоже, что я установил только двоичный файл, почему новые функции не используются по умолчанию?

Спасибо!

4
задан 18 January 2013 в 03:11

1 ответ

Новые функции в Perl не включены по умолчанию по причинам обратной совместимости.

Из perdoc.perl.org :

Это часто полезно, если вам нужно проверить текущую версию Perl перед использованием библиотечных модулей, которые не будут работать с более старыми версиями. Перл. (Мы стараемся не делать это больше, чем нужно.)

Кроме того, если указанная версия Perl больше или равна 5.9.5, использование VERSION также загрузит прагму функции и включит все доступные функции. в запрашиваемой версии. Смотрите функцию .

Аналогичным образом, если указанная версия Perl больше или равна 5.11.0, стриктуры включаются лексически, как и при использовании strict (за исключением того, что файл strict.pm фактически не загружается).

Более новая версия Perl еще не была одобрена / передана на 12.04, 12.10 или даже 13.10. Смотрите главную страницу Ubuntu для Perl здесь . Тем не менее, похоже, что есть некоторая активность с продвижением работы над Perl 5.17.

Вы можете установить из исходного кода, но я бы не советовал использовать системный Perl. Вместо этого я бы порекомендовал установить изолированную версию, используя PerlBrew .

0
ответ дан 18 January 2013 в 03:11

Другие вопросы по тегам:

Похожие вопросы: