Perl 5.44


3

Pas njĂ« vit zhvillimi Ă«shtĂ« publikuar lĂ«shimi i degĂ«s sĂ« re tĂ« qĂ«ndrueshme tĂ« gjuhĂ«s sĂ« programimit Perl — 5.44. GjatĂ« pĂ«rgatitjes nĂ« kĂ«tĂ« lĂ«shim janĂ« ndryshuar rreth 270 mijĂ« rreshta kodi (pa dokumentacionin dhe kodin e gjeneruar automatikisht — 110 mijĂ«), ndryshimet prekin 860 skedarĂ«, ndĂ«rsa nĂ« zhvillim kanĂ« marrĂ« pjesĂ« 71 zhvillues.

Dega 5.44 është lëshuar sipas një plani të miratuar trembëdhjetë vjet më parë, duke parashikuar lëshimin e degëve të reja të qëndrueshme çdo vit dhe të lëshimeve korrigjuese çdo tre muaj. Pjesërisht pas një muaji, pritet të lëshohet lëshimi i parë korrigjues Perl 5.44.1, në të cilin do të rregullohen gabimet më të rëndësishme që janë identifikuar gjatë implementimit të Perl 5.44.0. Në të njëjtën kohë me daljen e Perl 5.44, është ndaluar mbështetja për degën 5.40, për të cilën përditësimet mund të lëshohen në të ardhmen vetëm në rast të identifikimit të problematikave kritike të sigurisë. Ka filluar procesi i zhvillimit të deges eksperimentale 5.45, mbi të cilën në gjysmën e parë të vitit 2027 do të formohet një lëshim stabil i Perl 5.46, nëse nuk do të merret një vendim për të kaluar në numërimin 7.x.

ÇelĂ«sore nĂ«:

  • Shtuar mundĂ«sia eksperimentale pĂ«r pĂ«rdorimin e parametrave me emra nĂ« nĂ«nshkrimet e funksioneve, qĂ« pĂ«rcaktojnĂ« listĂ«n e variablave tĂ« kaluar nĂ« funksion jo brenda trupit tĂ« funksionit, por gjatĂ« shpalljes sĂ« tij. Kjo mundĂ«si e re lejon kalimin e parametrave jo nĂ« rend strik, por nĂ« njĂ« rend tĂ« çfarĂ«doshĂ«m duke pĂ«rdorur çiftet çelĂ«s/vlerĂ« dhe sintaksĂ«n e ngjashme me caktimin e elementeve nĂ« hesh:
    • sintaksa e vjetĂ«r: sub f { my ($x, $y) = @_; 
} f(1, 2);
    • sintaksa: sub f ($x, $y) { 
 } f(1, 2);
    • sintaksa me parametra tĂ« emĂ«ruar: sub f (:$x, :$y) { 
 } f(y => 2, x => 1);
  • ËshtĂ« shtuar njĂ« funksionalitet eksperimental qĂ« lejon pĂ«rdorimin e aliasĂ«ve (shĂ«nuesve pĂ«r shĂ«nues) nĂ« ciklet foreach me disa variabla. Funksionaliteti i realizuar lejon krijimin e njĂ« aliasi nĂ« ciklin foreach duke nxjerrĂ« menjĂ«herĂ« disa vlera nĂ« njĂ« iterim tĂ« vetĂ« ciklit. PĂ«r shembull, Ă«shtĂ« e mundur tĂ« formohet njĂ« alias pĂ«r njĂ« element hash me njĂ« array gjatĂ« pĂ«rshkimit tĂ« njĂ«kohshĂ«m tĂ« çelĂ«sve dhe vlerave tĂ« hash-it: use v5.44; use feature qw( refaliasing declared_refs ); my %hash = ( one => [1], two => [2, 2], ); foreach my ( $key, @items ) ( %hash ) { say "Array $key pĂ«rmban: @items"; } # Para versionit 5.44, do tĂ« ishte e nevojshme tĂ« kryhej dereferimi: foreach my ( $key, $var ) ( %hash ) { say "Array $key pĂ«rmban: @$var"; } # Pa mundĂ«sitĂ« eksperimentale refaliasing dhe declared_refs: foreach my $key (keys %hash) { say "Array $key pĂ«rmban: @{$hash{$key}}"; }
  • NĂ« shprehjet e rregullta i realizuar rezhimi eksperimental ‘enhanced_xx’, qĂ« lejon pĂ«rdorimin e modifikuesit /xx me klasat e simboleve nĂ« kllapa katrore ([a-zA-Z]) pĂ«r t'i ndarĂ« ato nĂ« disa rreshta apo pĂ«r tĂ« vendosur komente. PĂ«r shembull, kushti if ($text =~ m/[a-zA-Z]/){ mund tĂ« formohet kĂ«shtu: if ($text =~ m/[ a-z # shkronjat e vogla A-Z # shkronjat e mĂ«dha ]/xx) {
  • NĂ« gjenerimin e numrave pseudo-rastĂ«sorĂ« pĂ«r tĂ« marrĂ« entropi, pĂ«rdoret thirrja sistemike getentropy() nĂ« sistemet qĂ« e mbĂ«shtesin atĂ« (Linux, BSD, macOS). NĂ« sistemet e tjera, entropia gjenerohet duke lexuar nga pajisja /dev/urandom ose duke pĂ«rdorur hash-in nga koha, identifikatori i procesit dhe vlerĂ«n e treguesit.
  • MbĂ«shtetje e shtuar pĂ«r specifikimin Unicode 17.0.
  • Sigurohet respektimi i rreptĂ« i rregullave tĂ« Unicode pĂ«r emrat e identifikuesve dhe grupet e shprehjeve tĂ« rregullta, tĂ« cilat tani ndalojnĂ« pĂ«rdorimin e rreth 160 simboleve Unicode, tĂ« cilat mĂ« parĂ« pĂ«rfshiheshin nĂ« klasĂ«n w. PĂ«r shembull, nga veprimi i klasĂ«s w, qĂ« pĂ«rfshin tĂ« gjitha shkronjat, numrat dhe simbolin e nĂ«nvizimit, janĂ« pĂ«rjashtuar shkronjat latine tĂ« rrethuar, tĂ« cilat i ngjajnĂ« shkronjave reale, por nuk janĂ« ato. Ndryshimi i sjelljes ndikon vetĂ«m nĂ« programet qĂ« pĂ«rdorin modin use utf8.
  • Shtuar lĂ«ndimet e shkaktuara nga mbingarkesat e tamponĂ«ve nĂ« funksionet Perl_study_chunk (CVE-2026-8376, qĂ« shfaqet nĂ« ndĂ«rtimet 32-bitĂ«) dhe S_measure_struct (CVE-2026-57432), si dhe mbingarkesa e numrit 16-bit nĂ« motorin Regex (CVE-2026-13221), e cila mund tĂ« çojĂ« nĂ« ekzekutimin e gabuar tĂ« shprehjes sĂ« rregullt.
  • PĂ«rdorimi i operatorit goto pĂ«r kalimin nĂ« pozita brenda cikleve dhe strukturave blloku Ă«shtĂ« i ndaluar. Kjo mundĂ«si u shpall e vjetruar nĂ« vitin 2010.
  • JanĂ« kryer optimizime nĂ« performancĂ« qĂ« pĂ«rshpejtojnĂ« operacionet e shtimit, zbritjes dhe shumĂ«zimit tĂ« numrave tĂ« plotĂ«, pĂ«rpunimin e nĂ«nshkrimeve tĂ« funksioneve dhe mbushjen e hash-eve nga lista nĂ« format çelĂ«s/vlerĂ« me çelĂ«sa string tĂ« njohur nĂ« fazĂ«n e kompilanimit.

Burimi: linux.org.ru

Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster