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

3

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

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

Спасибо!

    
задан Cait 18.01.2013 в 00:11
источник

1 ответ

3

Новые функции в 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 .

    
ответ дан Kevin Bowen 21.01.2013 в 02:17
источник