Byla vydána nová verze interpretu programovacího jazyka Perl 5.32.0.
Za 13 měsíců vývoje se změnilo 140 tisíc řádků v 880 souborech.
Klíčové inovace:
- Nový experimentální operátor isa, který kontroluje, zda je zadaný objekt instancí předané třídy nebo podřízené třídy:
if( $obj isa Package::Name ) { … }
- Podpora Unicode 13.0!
- Nyní je možné psát porovnávací operátory se stejnou prioritou ve formě řetězce:
if ( $x < $y <= $z ) {...}
Stejný jako:
if ( $x < $y && $y <= $z ) {...}
Více o této funkci si můžete přečíst v perlopu (část „Precedence a asociativita operátorů“).
- Písmenné zápisy příkazů v regulárních výrazech již nejsou experimentální. Příklad: (*pla:pattern), více podrobností v perlre.
- Schopnost omezit kontrolovaný vzor na konkrétní systém zápisu (více o "Spouštění skriptů" v perlre) již není experimentální.
- Nyní je možné zakázat volání nepřímých metod. Můžete si přečíst více v poznámce Briana D Foye.
Některé optimalizace:
- Kontrola připojení dalších funkcí (funkcí) je nyní rychlejší.
- Speciální případy pro řazení byly výrazně zrychleny (hovoříme o {$a <=> $b} a {$b <=> $a} ).
Vybrala jsem jen pár věcí podle mého vkusu. Jsou zde další novinky, změny nekompatibilní s předchozími verzemi, aktualizace dokumentace a uzavřené bezpečnostní problémy. Navrhuji, abyste si přečetli celou perldeltu na odkazu.
Zdroj: linux.org.ru