Po 11 měsících vývoje byla vydána nová stabilní větev programovacího jazyka Perl, verze 5.34. Nová verze zahrnovala přibližně 280 000 řádků změn kódu, které ovlivnily 2 100 souborů, a podílelo se na ní 78 vývojářů.
Větev 5.34 byla vydána v souladu s pevným vývojovým harmonogramem stanoveným před osmi lety, který požaduje vydávání nových stabilních větví jednou ročně a menších verzí každé tři měsíce. Vydání první menší verze, Perl 5.34.1, je naplánováno na přibližně měsíc a opraví nejvýznamnější chyby objevené během implementace Perlu 5.34.0. Spolu s vydáním Perlu 5.34 skončila i podpora větve 5.30; budoucí aktualizace mohou být vydány pouze v případě zjištění kritických bezpečnostních problémů. Začal také vývoj experimentální větve 5.35, která bude tvořit základ pro stabilní verzi Perlu 5.36 v květnu nebo červnu 2022, pokud nebude Perl 5 nahrazen větví Perlu 7.
Klíčové změny:
- Byla přidána experimentální podpora pro ošetření výjimek try/catch, kterou lze použít místo nenápadné syntaxe eval. Blok try obsahuje blok kódu, který se má spustit, a blok catch obsahuje kód pro ošetření jakékoli výjimky, která může nastat během provádění prvního bloku. Blok catch definuje proměnnou obsahující data předaná při vyvolání výjimky (například pokud je vyvolána výjimka, zadaný řetězec bude předán jako argument volání funkce die). V blocích try a catch jsou povoleny příkazy skoku, včetně return, goto, next, last a redo. use feature 'try'; try { a_function(); } catch ($e) { warn "Došlo k chybě: $e"; }
- Použití prázdné dolní hranice pro rozsah je nyní povoleno v blocích „{a,n}“, včetně těch, které se používají v regulárních výrazech. Například lze nyní zadat „{,3}“.
- Mezery jsou nyní povoleny uvnitř parametrů se složenými závorkami {m,n}, \b{}, \g{}, \k{}, \N{}, \o{} a \x{}, pokud mezera sousedí se složenou závorkou nebo čárkou, pro dvojité escapování nebo v regulárních výrazech, např. nyní můžete zadat „qr/a{ 5, 7 }/“ nebo „\x{ FFFC }“ bez uvozovek.
- Kromě hexadecimálních (0xdddddd) a binárních (0bdddddd) literálů je navržena nová syntaxe pro zadávání oktálních čísel – „0oddddd“. Pro přehlednost lze použít podtržítka (0o123_456). Podpora pro novou syntaxi byla přidána také do vestavěné funkce oct().
- V enginu regulárních výrazů byl opraven únik paměti.
- Verze modulů obsažených v základní distribuci byly aktualizovány. Balíček nyní obsahuje modul ExtUtils::PL2Bat pro převod Perl skriptů do BAT souborů pro spouštění v Windows.
- Přidána podpora pro sestavování Perlu pro systém 9front (odnože systému Plan9). Vylepšená podpora systému Plan9. macOSPodpora operačního systému Symbian byla ukončena.
Zdroj: opennet.ru
