Perl 5.32.0

good-penguin.png

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

Позади 13 месяцев разработки, 140 тысяч изменённых строк в 880 файлах.

Ключевые нововведения:

  • Новый экспериментальный оператор isa, проверяющий является ли указанный объект, экземпляром переданного класса или класса-наследника:
    if( $obj isa Package::Name ) { ... }
    

  • Поддержка Unicode 13.0!
  • Появилась возможность записывать операторы сравнения с одним приоритетом в виде цепочки:
    if ( $x < $y <= $z ) {...}
    

    Тоже самое что:
    if ( $x < $y && $y <= $z ) {...}
    

    Про данную особенность можно подробней почитать в perlop (раздел «Operator Precedence and Associativity»).
  • Буквенные обозначения утверждений в регулярных выражениях больше не являются экспериментальными. Пример: (*pla:pattern), подробнее в perlre.
  • Возможность ограничения проверяемого шаблона конкретной системой письма (подробнее «Script Runs» в perlre) больше не является экспериментальной.
  • Появилась возможность отключать непрямой вызов методов. Подробнее можно почитать в заметке Брайана Д Фоя.

Некоторые оптимизации:

  • Проверка подключения дополнительных возможностей (features) теперь происходит быстрее.
  • Существенно ускорены специальные случаи для сортировки (речь о {$a <=> $b} и {$b <=> $a}).

Выбрал только некоторые вещи на свой вкус. Есть иные нововведения, несовместимые с прошлыми версиями изменения, обновления документации и закрытые проблемы безопасности. Предлагаю ознакомиться с полной perldelta по ссылке.

>>> Подробности

©  Linux.org.ru