Когда я пытаюсь использовать новые функции Perl (например, «сказать» вместо «печать»), код завершается ошибкой, пока я не вставлю строку «использовать 5.014;» а затем все работает.
Моя установленная версия perl - 5.14.2, и похоже, что я установил только двоичный файл, почему новые функции не используются по умолчанию?
Спасибо!
Новые функции в Perl не включены по умолчанию по причинам обратной совместимости.
Из perdoc.perl.org :
Это часто полезно, если вам нужно проверить текущую версию Perl перед использованием библиотечных модулей, которые не будут работать с более старыми версиями. Перл. (Мы стараемся не делать это больше, чем нужно.)
Кроме того, если указанная версия Perl больше или равна 5.9.5, использование VERSION также загрузит прагму функции и включит все доступные функции. в запрашиваемой версии. Смотрите функцию .
Аналогичным образом, если указанная версия Perl больше или равна 5.11.0, стриктуры включаются лексически, как и при использовании strict (за исключением того, что файл strict.pm фактически не загружается).
blockquote>Более новая версия Perl еще не была одобрена / передана на 12.04, 12.10 или даже 13.10. Смотрите главную страницу Ubuntu для Perl здесь . Тем не менее, похоже, что есть некоторая активность с продвижением работы над Perl 5.17.
Вы можете установить из исходного кода, но я бы не советовал использовать системный Perl. Вместо этого я бы порекомендовал установить изолированную версию, используя PerlBrew .