Post jaro da evoluo eldonita liberigo de nova stabila branĉo de la Perl programlingvo - 5.44... Kiam preparo La nova eldono ŝanĝis proksimume 270 000 liniojn de kodo (ekskludante dokumentaron kaj aŭtomate generitan kodon - 110 000), la ŝanĝoj influis 860 dosierojn, kaj 71 programistoj partoprenis en la disvolviĝo.
La branĉo 5.44 estis publikigita laŭ la fiksa evoluiga horaro establita antaŭ dek tri jaroj, kiu antaŭvidas la eldonon de novaj stabilaj branĉoj unufoje jare kaj malgrandaj eldonoj ĉiujn tri monatojn. La unua malgranda eldono, Perl 5.44.1, estas planita por eldono post ĉirkaŭ unu monato, korektante la plej signifajn cimojn malkovritajn dum la efektivigo de Perl 5.44.0. Kun la eldono de Perl 5.44, subteno por la branĉo 5.40 finiĝis; ĝisdatigoj por ĝi eble estos publikigitaj estontece nur se kritikaj sekurecproblemoj estos malkovritaj. Ĝi komenciĝis la evoluiga procezo de la eksperimenta branĉo 5.45, kiu estos la bazo por la stabila eldono de Perl 5.46 en la unua duono de 2027, krom se decido estos farita transiru al numerado 7.x.
Ŝlosilo ŝanĝi:
- Aldonita eksperimenta ebleco uzi nomitajn parametrojn en subskriboj Funkcioj kiuj difinas la liston de variabloj pasitaj al la funkcio ne en la funkcia korpo, sed dum ĝia deklaro. Ĉi tiu nova funkcio permesas pasi parametrojn ne en strikta ordo, sed en iu ajn ordo, uzante ŝlosilo-valoro-parojn kaj sintakson similan al asignado de elementoj en haŝoj:
- malnova sintakso: sub f { mia ($x, $y) = @_; …} f(1, 2);
- signaturoj: sub f ($x, $y) { … } f(1, 2);
- signaturoj kun nomitaj parametroj: sub f (:$x, :$y) { … } f(y => 2, x => 1);
- Aldonita eksperimenta subteno por uzi kaŝnomojn (montrilojn al montriloj) en foreach-bukloj kun pluraj variabloj. Ĉi tiu funkcio permesas al vi krei kaŝnomon en foreach-buklo dum prenado de pluraj valoroj en ununura bukliteracio. Ekzemple, vi povas krei kaŝnomon por haŝelemento kun tabelo dum iteracio super kaj la ŝlosiloj kaj valoroj de la haŝo: uzu v5.44; uzu funkcion qw(realiasing declared_refs); my %hash = (one => [1], two => [2, 2],); foreach my ($key, @items) (%hash) { diru "La $key-tabelo enhavas: @items"; } # Antaŭ versio 5.44, malreferenco estus necesa: foreach my ($key, $var) (%hash) { diru "La $key-tabelo enhavas: @$var"; } # Sen eksperimenta refaliasigo kaj declared_refs-trajtoj: foreach my $key (keys %hash) { say "La $key-aro enhavas: @{$hash{$key}}"; }
- En regulaj esprimoj efektivigita La eksperimenta reĝimo 'enhanced_xx' permesas uzi la modifilon /xx kun signoklasoj en kvadrataj krampoj ([a-zA-Z]) por dividi ilin trans pluraj linioj aŭ por enmeti komentojn. Ekzemple, la kondiĉo if ($text =~ m/[a-zA-Z]/){ povus esti skribita kiel: if ($text =~ m/[ a-z # minusklaj literoj A-Z # majusklaj literoj ]/xx) {
- La pseŭdohazarda nombrogenerilo uzas la sistemvokon getentropy() por akiri entropion sur sistemoj kiuj subtenas ĝin (Linux, BSD, macOS). En aliaj sistemoj, entropio akiriĝas per legado de la aparato /dev/urandom aŭ uzante haŝon de la tempo, proceza identigilo kaj montrilvaloro.
- Aldonita specifsubteno Unikodo 17.0.
- Strikta sekvado de Unikodaj reguloj estas certigita por identigilaj nomoj kaj grupoj de regulaj esprimoj, kun proksimume 160 Unikodaj signoj antaŭe kovritaj de la klaso w nun malpermesitaj. Ekzemple, la klaso w, kiu kovras ĉiujn literojn, ciferojn kaj la substrekon, nun ekskludas ĉirkaŭitajn latinajn literojn, kiuj similas al realaj literoj sed ne estas. Ĉi tiu ŝanĝo de konduto nur efikas al programoj uzantaj la reĝimon "use utf8".
- Riparitaj vundeblecoj kaŭzitaj de bufrosuperfluoj en la funkcioj Perl_study_chunk (CVE-2026-8376, aperas en 32-bitaj asembleoj) kaj S_measure_struct (CVE-2026-57432), same kiel superfluo de la 16-bita nombrilo en la Regex-motoro (CVE-2026-13221), kio povas kaŭzi malsukceson de la regula esprimo.
- Salti al pozicioj ene de bukloj kaj blokaj konstrukcioj uzante la operatoron "goto" estas malpermesita. Ĉi tiu funkcio estis malrekomendita en 2010.
- Efikeco-optimigoj estis faritaj por rapidigi entjeran adicion, subtrahon kaj multiplikon, funkciajn signaturprilaboradon, kaj plenigadon de haŝoj el ŝlosilo/valorlistoj per ĉenŝlosiloj konataj dum kompilado.
fonto: linux.org.ru
