Вышла новая версия интерпретатора языка программирования 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 по ссылке.
>>> Подробности