Piştî salek pêşveçûn weşandin serbestberdana şaxek nû ya stabîl a zimanê bernamenûsê Perl - 5.44... Heke amadekirin Guhertoya nû bi qasî 270 rêzên kodê guherand (ji bilî belgekirin û koda ku bixweber hatiye çêkirin - 110), guhertinan bandor li 860 pelan kir, û 71 pêşdebir beşdarî pêşveçûnê bûn.
Şaxa 5.44 li gorî bernameya pêşveçûnê ya sabît a ku sêzdeh sal berê hatî destnîşankirin, hatiye berdan, ku tê de berdana şaxên nû yên sabît salê carekê û berdanên piçûk her sê mehan carekê tê xwestin. Berdana piçûk a yekem, Perl 5.44.1, ji bo nêzîkî mehekê hatî plankirin ku were berdan, ku kêmasiyên herî girîng ên ku di dema bicîhanîna Perl 5.44.0 de hatine dîtin rast dike. Bi berdana Perl 5.44, piştgiriya ji bo şaxa 5.40 bi dawî bûye; nûvekirinên ji bo wê tenê dikarin di pêşerojê de werin berdan ger pirsgirêkên ewlehiyê yên krîtîk werin dîtin. Dest pê kiriye pêvajoya pêşvebirina şaxa ceribandinî ya 5.45, ku dê bibe bingeha berdana stabîl a Perl 5.46 di nîvê yekem ê 2027-an de, heya ku biryarek neyê girtin biçin bo hejmartina 7.x.
Qûfle guhertin:
- Zêde kirin îhtîmala ceribandinî ya bikaranîna parametreyên navkirî di îmzeyan Fonksiyonên ku lîsteya guhêrbarên ku ne di laşê fonksiyonê de, lê di dema ragihandina wê de ji fonksiyonê re têne şandin diyar dikin. Ev taybetmendiya nû dihêle ku parametre ne bi rêzek hişk, lê bi her rêzê werin şandin, bi karanîna cotên mifte/nirx û rêzimanek dişibihe destnîşankirina hêmanan di haşeyan de:
- rêzimana kevin: sub f { min ($x, $y) = @_; …} f(1, 2);
- îmzeyan: sub f ($x, $y) { … } f(1, 2);
- îmzeyan bi parametreyên bi navkirî: sub f (:$x, :$y) { … } f(y => 2, x => 1);
- Piştgiriya ceribandinî ji bo karanîna navên din (nîşanderên ber bi nîşanderan) di lûpên foreach de bi gelek guhêrbaran hate zêdekirin. Ev taybetmendî dihêle hûn dema ku di yek dubarekirina lûpê de gelek nirxan digirin, navekî din di lûpeke foreach de biafirînin. Mînakî, hûn dikarin ji bo hêmanek hash bi rêzekê navekî din biafirînin dema ku li ser hem mifteyan û hem jî nirxên hashê dubare dibin: v5.44 bikar bînin; feature qw(refaliasing declared_refs); my %hash = ( yek => [1], du => [2, 2], ); foreach my ( $key, @items ) ( %hash ) { say "Rêza $key: @items"; } # Berî guhertoya 5.44, dereferanskirin dê hewce be: foreach my ( $key, $var ) ( %hash ) { say "Rêza $key: @$var"; } # Bêyî refaliaskirina ceribandinî û taybetmendiyên declaration_refs: foreach my $key (keys %hash) { bêje "Rêza $key dihewîne: @{$hash{$key}}"; }
- Di îfadeyên rêkûpêk de pêkanîn Moda ceribandinî ya 'enhanced_xx' dihêle ku guherkerê /xx bi çînên karakteran ên di nav parantezên çargoşe de ([a-zA-Z]) were bikar anîn da ku wan li ser gelek rêzan dabeş bike an jî şîroveyan têxe nav xwe. Bo nimûne, şerta eger ($text =~ m/[a-zA-Z]/){ dikare wekî were nivîsandin: eger ($text =~ m/[ a-z # tîpên biçûk A-Z # tîpên mezin ]/xx) {
- Çêkera hejmarên pseudo-random banga pergalê getentropy() bikar tîne da ku entropiyê li ser pergalên ku wê piştgirî dikin bi dest bixe (Linux, BSD, macOS). Li ser pergalên din, entropî bi xwendina ji cîhaza /dev/urandom an jî bi karanîna heşa dem, nasnameya pêvajoyê, û nirxa nîşankerê tê bidestxistin.
- Piştgiriya taybetmendiyê zêde kir Unicode 17.0.
- Ji bo navên nasnameyan û komên îfadeyên rêkûpêk, pabendbûna hişk bi qaîdeyên Unicode re hatiye misogerkirin, bi qasî 160 karakterên Unicode yên ku berê ji hêla çîna w ve dihatin nixumandin niha qedexe ne. Mînakî, çîna w, ku hemî tîp, reqem û karaktera xêzkirî vedihewîne, naha tîpên Latînî yên dorpêçkirî, ku dişibin tîpên rastîn lê ne wusa ne, derdixe. Ev guherîna tevgerê tenê bandorê li bernameyên ku moda utf8 bikar tînin dike.
- Lawaziyên ku ji ber zêdebûna bufferê di fonksiyonên Perl_study_chunk de çêdibûn hatin sererastkirin (CVE-2026-8376, di kombûnên 32-bitî de xuya dibe) û S_measure_struct (CVE-2026-57432), û her weha zêdebûna jimêra 16-bitî di motora Regex de (CVE-2026-13221), ku dibe sedema têkçûna îfadeya rêkûpêk.
- Bi karanîna operatorê goto, bazdana ber bi pozîsyonên di nav xelek û avahiyên blokê de qedexe ye. Ev taybetmendî di sala 2010an de ji kar hate derxistin.
- Ji bo lezandina komkirin, jêbirin û zêdekirina hejmarên tam, pêvajoya îmzeya fonksiyonê, û dagirtina heşên ji navnîşên mifte/nirxê bi mifteyên rêzikê yên ku di dema berhevkirinê de têne zanîn, çêtirkirinên performansê hatin çêkirin.
Source: linux.org.ru
