Вышла новая значительная версия популярного языка программирования 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 '...' теперь приводит к ошибке.
- Многочисленные улучшения производительности, обновления входящих в стандартную поставку модулей и многое другое.
Горячие темы