Вышла новая значительная версия популярного языка программирования Perl. Основные изменения:
- Модули CGI и Module::Build убраны из стандартной поставки.
- Новые битовые операторы для работы со строками:
&. |. ^. ~. &= |= ^= &.= |.= ^.=
- Новый оператор
<<>>
, работающий как<>
, но не обрабатывающий спецсимволы в именах файлов. - Новый модификатор регулярных выражений:
/n
, не позволяющий заполнение скаляров $1, $2 и т.д. для групп метасимволов:"hello" =~ /(hi|hello)/; # $1 is "hello" "hello" =~ /(hi|hello)/n; # $1 is undef
- Новый оператор регулярных выражений:
\b
- Добавлена директива
use re 'strict'
, включающая «строгий» режим для регулярных выражений. - Добавлена поддержка Unicode 7.0
- Вызов
prototype()
без аргумента теперь использует$_
fileno
теперь работает с дескрипторами директорий.- Новый атрибут
:const
для анонимных функций. - Теперь Perl по умолчанию собирается с
-fstack-protector-strong
и-D_FORTIFY_SOURCE=2
- Конвертирование бесконечных чисел и NaN в символы (с помощью pack, «chr» и printf «%c») теперь невозможно.
- Модуль Safe обновлён до версии 2.38 с исправлением критической уязвимости.
- Пустой срез списка отныне будет возвращён только в том случае, если список был пустым.
- Числа с плавающей точкой отныне могут содержать бесконечность (как отрицательную, так и положительную) и NaN.
- Добавлена поддержка шестнадцатеричныхлитералов с плавающей точкой (например, 0x1.23p-4).
- Действие прагмы
use encoding
теперь ограничено лексической областью. - Импортирование функций через
use UNIVERSAL '...'
теперь приводит к ошибке. - Многочисленные улучшения производительности, обновления входящих в стандартную поставку модулей и многое другое.
>>> Подробности