Na 11 maande se ontwikkeling is 'n nuwe stabiele tak van die Perl-programmeertaal vrygestel - 5.34. Met die voorbereiding van die nuwe weergawe is ongeveer 280 duisend reëls kode verander, die veranderinge het 2100 78 lêers geraak, en XNUMX ontwikkelaars het aan die ontwikkeling deelgeneem.
Tak 5.34 is vrygestel in ooreenstemming met die vaste ontwikkelingskedule wat agt jaar gelede goedgekeur is, wat die vrystelling van nuwe stabiele takke een keer per jaar en korrektiewe vrystellings elke drie maande impliseer. Oor ongeveer 'n maand word beplan om die eerste regstellende vrystelling van Perl 5.34.1 vry te stel, wat die belangrikste foute wat tydens die implementering van Perl 5.34.0 geïdentifiseer is, sal regstel. Saam met die vrystelling van Perl 5.34 is ondersteuning vir die 5.30-tak gestaak, waarvoor toekomstige opdaterings slegs vrygestel kan word as kritieke sekuriteitsprobleme geïdentifiseer word. Die ontwikkelingsproses van die eksperimentele tak 5.35 het ook begin, op grond waarvan 'n stabiele vrystelling van Perl 2022 in Mei of Junie 5.36 gevorm sal word, indien Perl 5 nie die Perl 7-tak vervang nie.
Sleutelveranderinge:
- Eksperimentele ondersteuning bygevoeg vir probeer/vang-sintaksis vir uitsonderingshantering, wat gebruik kan word in plaas van nie-vanselfsprekende manipulasies met "eval". 'n "Try"-blok bevat 'n blok wat die kode bevat wat uitgevoer moet word, en 'n "catch"-blok bevat kode om enige uitsondering te hanteer wat mag voorkom wanneer die eerste blok uitgevoer word. In "vang" word 'n veranderlike gedefinieer wat die data bevat wat deurgegee word wanneer 'n uitsondering gegooi word (byvoorbeeld, wanneer 'n uitsondering geaktiveer word, sal die string wat as 'n argument gespesifiseer is, na die "die"-oproep deurgegee word). Spring-stellings word toegelaat binne probeer-en-vang-blokke, insluitend terugkeer, gaan, volgende, laaste en herhaal. gebruik kenmerk 'probeer'; probeer { a_function(); } catch ($e) { waarsku “'n Fout het voorgekom: $e”; }
- Die gebruik van 'n leë onderste reekslimiet word toegelaat in "{a,n}"-blokke, insluitend dié wat in gewone uitdrukkings gebruik word. Byvoorbeeld, jy kan nou "{,3}" spesifiseer.
- Spasies word toegelaat binne parameters met krullerige hakies {m,n}, \b{}, \g{}, \k{}, \N{}, \o{} en \x{} as die spasie langsaan is die krulhakie of 'n komma, vir dubbele ontsnapping of in gereelde uitdrukkingpatrone, byvoorbeeld, kan jy nou "qr/a{ 5, 7 }/" of "\x{ FFFC }" spesifiseer sonder om die waardes aan te haal.
- Benewens heksadesimale (0xddddd) en binêre (0bddddd) letterlike letters, word 'n nuwe sintaksis vir die spesifiseer van oktale getalle voorgestel - "0oddddd", waarin onderstrepings (0o123_456) gespesifiseer kan word vir duidelikheid. Ondersteuning vir die nuwe sintaksis is ook by die ingeboude oct() funksie gevoeg.
- 'n Geheuelek is in die gewone uitdrukking-enjin reggestel.
- Die weergawes van modules wat in die basiese verspreiding ingesluit is, is opgedateer. Die pakket sluit nou die ExtUtils::PL2Bat-module in vir die omskakeling van Perl-skripte na BAT-lêers vir die uitvoering in Windows.
- Ondersteuning bygevoeg vir die bou van Perl vir die 9front-stelsel (’n afsplitsing van Plan9). Verbeterde Plan9-ondersteuning en macOSOndersteuning vir Symbian OS is gestaak.
Bron: opennet.ru
