Wydana została nowa wersja interpretera języka programowania Perl 5.32.0.
Za nami 13 miesięcy prac rozwojowych, 140 tysięcy zmienionych linii w 880 plikach.
Kluczowe nowości:
- Nowy eksperymentalny operator isa, który sprawdza, czy dany obiekt jest instancją podanej klasy lub klasy dziedziczącej:
if( $obj isa Package::Name ) { … }
- Wsparcie Unicode 13.0!
- Możliwość zapisywania operatorów porównania z jednym priorytetem w postaci łańcucha:
if ( $x < $y <= $z ) {…}
To samo co:
if ( $x < $y && $y <= $z ) {…}
O tej właściwości można przeczytać więcej w perlop (sekcja „Operator Precedence and Associativity”).
- Literałowe oznaczenia wyrażeń w wyrażeniach regularnych nie są już eksperymentalne. Przykład: (*pla:pattern), więcej w perlre.
- Możliwość ograniczania badania wzorców do konkretnego systemu pisma (więcej w „Script Runs” w perlre) również nie jest już eksperymentalna.
- Możliwość wyłączania niejawnego wywołania metod. Więcej można przeczytać w notatce Briana D Foya.
Niektóre optymalizacje:
- Sprawdzanie dostępności dodatkowych funkcji (features) teraz odbywa się szybciej.
- Znacząco przyspieszone zostały przypadki szczególne dla sortowania (mowa o {$a $b} oraz {$b $a} ).
Wybrałem tylko kilka rzeczy według własnego gustu. Istnieją inne nowości, zmiany niekompatybilne z poprzednimi wersjami, aktualizacje dokumentacji oraz zamknięte problemy z bezpieczeństwem. Zachęcam do zapoznania się z pełnym perldelta pod tym linkiem.
Źródło: linux.org.ru
