Mushure megore rebudiriro yakabudiswa kuburitswa kwebazi idzva rakagadzikana rePerl programming language - 5.44. With kugadzirira Kuburitswa kutsva kwakachinja mitsara inosvika 270 yekodhi (kusasanganisira magwaro uye kodhi yakagadzirwa otomatiki - 110), shanduko dzakakanganisa mafaira 860, uye vagadziri 71 vakapinda mukugadzirwa kwacho.
Bazi re5.44 rakaburitswa zvichienderana nehurongwa hwekuvandudza hwakatarwa makore gumi nematatu apfuura, hunoda kuburitswa kwematavi matsva akagadzikana kamwe chete pagore uye kuburitswa kudiki mwedzi mitatu yega yega. Kuburitswa kudiki kwekutanga, Perl 5.44.1, kwakarongerwa kuburitswa mumwedzi unenge mumwe chete, zvichigadzirisa zvikanganiso zvakanyanya zvakawanikwa panguva yekushandiswa kwePerl 5.44.0. Nekuburitswa kwePerl 5.44, rutsigiro rwebazi re5.40 rwapera; zvigadziriso zvaro zvinogona kuburitswa mune ramangwana chete kana matambudziko akakosha ekuchengetedza akawanikwa. Zvatanga maitiro ekugadzira bazi rekuyedza re5.45, iro richava hwaro hwekuburitswa kwakasimba kwePerl 5.46 muhafu yekutanga ya2027, kunze kwekunge sarudzo yaitwa. pfuura kusvika panhamba 7.x.
Key change:
- Added mukana wekuyedza wekushandisa ma parameter ane mazita mu masiginecha Mabasa anotsanangura runyorwa rwezvimiro zvinopfuudzwa kubasa kwete mumuviri webasa, asi panguva yekuziviswa kwaro. Iyi ficha itsva inobvumira maparameter kupfuudzwa kwete muhurongwa hwakasimba, asi muhurongwa chero hupi zvahwo, uchishandisa ma key/value pairs uye syntax yakafanana nekupa zvinhu muhashes:
- mazwi ekare: sub f { yangu ($x, $y) = @_; …} f(1, 2);
- masiginecha: sub f ($x, $y) { … } f(1, 2);
- masiginecha ane mazita eparameter: sub f (:$x, :$y) { … } f(y => 2, x => 1);
- Yakawedzera rutsigiro rwekuyedza rwekushandisa mazita evamwe (ma "pointers to pointers") mu "foreach loops" ane ma "variables" akawanda. Iyi ficha inokutendera kuti ugadzire "alias" mu "foreach loop" paunenge uchitora ma "values" akawanda mu "single loop iteration". Semuenzaniso, unogona kugadzira "alias" ye "hash element" ine "array" paunenge uchidzokorora makiyi nema "values" e "hash": shandisa v5.44; shandisa feature qw( refaliasing declared_refs); my %hash = ( one => [1], two => [2, 2],); foreach my ( $key, @items) ( %hash ) { say "The $key array ine: @items"; } # Pamberi pevhezheni 5.44, kubvisa rereferensi kwaizodiwa: foreach my ( $key, $var ) ( %hash ) { say "The $key array ine: @$var"; } # Pasina experimental refaliasing uye declared_refs features: foreach my $key (keys %hash) { say "The $key array ine: @{$hash{$key}}"; }
- Mukutaura kwakajairika itwa Maitiro ekuyedza ekuti 'enhanced_xx' anobvumira kuti /xx modifier ishandiswe nemakirasi emavara ari mumabhuraketi akaenzana ([a-zA-Z]) kuti apatsanurwe mumitsara yakawanda kana kuisa makomendi. Semuenzaniso, mamiriro ezvinhu ekuti if ($text =~ m/[a-zA-Z]/){ anogona kunyorwa seizvi: if ($text =~ m/[ a-z # lowercase letters A-Z # uppercase letters ]/xx) {
- Jenareta yenhamba dzenhema-random inoshandisa getentropy() system call kuti iwane entropy pamasisitimu anoitsigira (Linux, BSD, macOS). Pane mamwe masisitimu, entropy inowanikwa nekuverenga kubva pamudziyo we /dev/urandom kana kushandisa hash yenguva, process ID, uye pointer value.
- Yakawedzerwa tsanangudzo yekutsigira Unicode 17.0.
- Kunyatsotevedzera mitemo yeUnicode kwave kuripo kune mazita evanoziva uye mapoka ekutaura nguva dzose, uye mavara eUnicode angangoita zana nemakumi matanhatu aimbofukidzwa nekirasi yew ikozvino arambidzwa. Semuenzaniso, kirasi yew, iyo inosanganisira mavara ese, manhamba, uye hunhu hweunderscore, ikozvino haibatanidzi mavara echiLatin akatenderedzwa, ayo akafanana nemabhii chaiwo asi asiri. Kuchinja kwehunhu uku kunokanganisa mapurogiramu anoshandisa nzira yekushandisa utf8.
- Kugadziriswa kwekusagadzikana kunokonzerwa nekuwanda kwebuffer mumabasa ePerl_study_chunk (CVE-2026-8376, inoonekwa muzvikamu zve 32-bit) uye S_measure_struct (CVE-2026-57432), pamwe nekuwanda kwe16-bit counter muinjini yeRegex (CVE-2026-13221), izvo zvinogona kukonzera kuti kutaura kwakajairika kusashande.
- Kusvetukira panzvimbo dziri mukati mezviropu nemidziyo yekuvhara uchishandisa goto operator hakubvumidzwe. Chinhu ichi chakarambidzwa muna 2010.
- Kugadziriswa kwekushanda kwakaitwa kuti kukurumidze kuwedzera, kubvisa, uye kuwanda kwenhamba, kugadzirisa masaini ebasa, uye kuzadza ma hashes kubva mu key/value lists nemakiyi etambo anozivikanwa panguva yekunyora.
Source: linux.org.ru
