Ar ôl blwyddyn o ddatblygiad cyhoeddi rhyddhau cangen sefydlog newydd o iaith raglennu Perl - 5.44... Pryd paratoi Newidiodd y fersiwn newydd tua 270 o linellau o god (heb gynnwys dogfennaeth a chod a gynhyrchwyd yn awtomatig - 110), effeithiodd y newidiadau ar 860 o ffeiliau, a chymerodd 71 o ddatblygwyr ran yn y datblygiad.
Mae cangen 5.44 wedi'i rhyddhau yn unol â'r amserlen ddatblygu sefydlog a sefydlwyd dair blynedd ar ddeg yn ôl, sy'n galw am ryddhau canghennau sefydlog newydd unwaith y flwyddyn a datganiadau bach bob tri mis. Mae'r datganiad bach cyntaf, Perl 5.44.1, wedi'i drefnu i'w ryddhau ymhen tua mis, gan drwsio'r bygiau mwyaf arwyddocaol a ddarganfuwyd yn ystod gweithredu Perl 5.44.0. Gyda rhyddhau Perl 5.44, mae cefnogaeth i gangen 5.40 wedi dod i ben; dim ond os darganfyddir problemau diogelwch critigol y gellir rhyddhau diweddariadau ar ei chyfer yn y dyfodol. Wedi dechrau y broses ddatblygu ar gyfer y gangen arbrofol 5.45, a fydd yn sail i ryddhau Perl 5.46 yn sefydlog yn hanner cyntaf 2027, oni bai bod penderfyniad yn cael ei wneud mynd dros i rifo 7.x.
Allwedd newidiadau:
- Wedi adio posibilrwydd arbrofol o ddefnyddio paramedrau enwol yn llofnodion Swyddogaethau sy'n diffinio'r rhestr o newidynnau sy'n cael eu trosglwyddo i'r swyddogaeth nid yng nghorff y swyddogaeth, ond yn ystod ei datganiad. Mae'r nodwedd newydd hon yn caniatáu i baramedrau gael eu trosglwyddo nid mewn trefn gaeth, ond mewn unrhyw drefn, gan ddefnyddio parau allwedd/gwerth a chystrawen debyg i neilltuo elfennau mewn hashes:
- hen gystrawen: sub f { my ($x, $y) = @_; …} f(1, 2);
- llofnodion: is-f ($x, $y) { … } f(1, 2);
- llofnodion gyda pharamedrau wedi'u henwi: sub f (:$x, :$y) { … } f(y => 2, x => 1);
- Ychwanegwyd cefnogaeth arbrofol ar gyfer defnyddio aliasau (pwyntyddion i bwyntyddion) mewn dolenni foreach gyda newidynnau lluosog. Mae'r nodwedd hon yn caniatáu ichi greu alias mewn dolen foreach wrth adfer gwerthoedd lluosog mewn iteriad dolen sengl. Er enghraifft, gallwch greu alias ar gyfer elfen hash gydag arae wrth iteru dros allweddi a gwerthoedd yr hash: defnyddiwch v5.44; defnyddiwch nodwedd qw(refaliasing declared_refs); fy %hash = (un => [1], dau => [2, 2],); foreach fy ( $key, @items ) ( %hash ) { dywedwch "Mae'r arae $key yn cynnwys: @items"; } # Cyn fersiwn 5.44, byddai angen dadgyfeirio: foreach fy ( $key, $var ) ( %hash ) { dywedwch "Mae'r arae $key yn cynnwys: @$var"; } # Heb ail-ffaliasu arbrofol a nodweddion declared_refs: foreach my $key (keys %hash) { say "Mae'r arae $key yn cynnwys: @{$hash{$key}}"; }
- Mewn mynegiadau rheolaidd gweithredu Mae'r modd 'enhanced_xx' arbrofol yn caniatáu defnyddio'r addasydd /xx gyda dosbarthiadau cymeriad mewn cromfachau sgwâr ([a-zA-Z]) i'w rhannu ar draws llinellau lluosog neu i fewnosod sylwadau. Er enghraifft, gellid ysgrifennu'r amod os ($text =~ m/[a-zA-Z]/){ fel: os ($text =~ m/[ a-z # llythrennau bach A-Z # llythrennau mawr ]/xx) {
- Mae'r generadur rhifau ffug-ar hap yn defnyddio'r alwad system getentropy() i gael entropi ar systemau sy'n ei gefnogi (Linux, BSD, macOSAr systemau eraill, ceir entropi trwy ddarllen o'r ddyfais /dev/urandom neu ddefnyddio hash o'r amser, ID y broses, a gwerth y pwyntydd.
- Ychwanegwyd cefnogaeth manyleb Unicode 17.0.
- Mae cydymffurfiaeth gaeth â rheolau Unicode wedi'i sicrhau ar gyfer enwau dynodwyr a grwpiau mynegiant rheolaidd, gyda thua 160 o gymeriadau Unicode a oedd gynt yn dod o dan y dosbarth w bellach wedi'u gwahardd. Er enghraifft, mae'r dosbarth w, sy'n cwmpasu pob llythyren, digid, a'r cymeriad tanlinellu, bellach yn eithrio llythrennau Lladin wedi'u cylchu, sy'n debyg i lythrennau gwirioneddol ond nad ydynt. Dim ond rhaglenni sy'n defnyddio'r modd utf8 y mae'r newid ymddygiad hwn yn effeithio arnynt.
- Wedi trwsio gwendidau a achosir gan orlifiadau byffer yn y ffwythiannau Perl_study_chunk (CVE-2026-8376, yn ymddangos mewn cynulliadau 32-bit) ac S_measure_struct (CVE-2026-57432), yn ogystal â gorlif y cownter 16-bit yn yr injan Regex (CVE-2026-13221), a all achosi i'r mynegiant rheolaidd fethu.
- Gwaherddir neidio i safleoedd o fewn dolenni ac adeiladwaith bloc gan ddefnyddio'r gweithredwr goto. Cafodd y nodwedd hon ei darfod yn 2010.
- Gwnaed optimeiddiadau perfformiad i gyflymu adio, tynnu a lluosi cyfanrifau, prosesu llofnodion ffwythiannau, a phoblogi hashes o restrau allweddi/gwerthoedd gydag allweddi llinynnol a adnabyddir adeg llunio.
Ffynhonnell: linux.org.ru
