Documentation for a newer release is available. View Latest

Perl

Perl 5.30

Fedora 31 предоставляет Perl 5.30. Примечательные изменения включают:

  • Поддерживается Unicode 12.1

  • Верхний предел n, указываемый в квантификаторе регулярного выражения вида {m,n}, удвоен до 65534

  • Частично поддерживаются подстановочные знаки в спецификациях значений свойств Unicode

  • Теперь поддерживается qr'\N{name}'

  • Теперь можно скомпилировать perl для использования потокобезопасных операций с локалью всегда

  • Ограниченный просмотр назад переменной длины в сопоставлении с шаблонами регулярных выражений теперь экспериментально поддерживается

  • Используется более быстрый метод преобразования в UTF-8

  • Теперь полностью поддерживаются тюркские локали UTF-8

  • Устранено использование макроса opASSIGN из ядра

  • -Drv теперь имеет смысл в сборках -DDEBUGGING

Удалённые функции и несовместимые изменения включают:

  • Удалённые модули: Math::BigInt::CalcEmu, arybase, Locale::Code, B::Debug

  • Разделители шаблонов теперь должны быть графемами

  • Разделители теперь должны быть графемами

  • Некоторые ранее устаревшие варианты использования незаэкранированной левой фигурной скобки { в шаблонах регулярных выражений теперь недопустимы

  • Присвоение ненулевого значения $[ является фатальным

  • Ранее устаревшие sysread()/syswrite() на дескрипторах :utf8 теперь фатальны

  • my() в ложном условии запрещён

  • Объявление $* и $# фатальными

  • Объявление неполного использования dump() фатальным

  • Удаление File::Glob::glob()

  • pack() больше не может возвращать некорректный UTF-8

  • Любой набор цифр из письменности Common допустим в выполнении скрипта другой письменности

  • JSON::PP включает allow_nonref по умолчанию

  • Пути сайта перемещены с /usr/local/…/perl5 на /usr/local/…/perl5/5.30

Следующие функции объявлены устаревшими:

  • В коде XS использование различных макросов, работающих с UTF-8.

Дополнительную информацию можно найти в документе вышестоящего проекта perldelta.