Вышла новая значительная версия популярного языка программирования Perl

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

Источник

Версия для печатиВерсия для печати

Регион: 

Заметили ошибку? Выделите ее мышкой и нажмите Ctrl+Enter!