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


Когда я пытаюсь использовать новые функции perl (например, «say» вместо «print»), код выходит из строя, пока я не поместил строку «use 5.014;» и затем все работает.

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

Благодаря!


4
2018-01-17 23:11


происхождения




ответы:


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

Из perdoc.perl.org:

Это часто бывает полезно, если вам нужно проверить текущую версию Perl перед использованием библиотечных модулей, которые не будут работать со старыми версиями 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,


4
2018-01-21 01:17