Излезе новата версия на интерпретатора на програмния език 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 (раздел "Операторна приоритизация и асоциативност").
- Буквените обозначения на изразите в регулярните изрази вече не са експериментални. Пример: (*pla:pattern), повече в perlre.
- Възможността за ограничаване на проверявания шаблон до конкретна писмена система (повече "Script Runs" в perlre) вече не е експериментална.
- Въведена е възможност за деактивиране на непрямото извикване на методи. Можете да прочетете повече в бележката на Брайън Д Фоя.
Някои оптимизации:
- Проверката за свързване на допълнителни функции (features) сега става по-бързо.
- Специалните случаи за сортиране (става въпрос за {$a $b} и {$b $a} ) са значително ускорени.
Избрах само някои неща по свой вкус. Има и други нововъведения, несъвместими с предишни версии, актуализации на документацията и решени проблеми със сигурността. Предлагам да се запознаете с пълната perldelta на линка.
Източник: linux.org.ru
