Nei in jier fan ûntwikkeling publisearre frijlitting fan in nije stabile tûke fan 'e Perl-programmeartaal - 5.44... Wannear tariede De nije release feroare sawat 270 rigels koade (eksklusyf dokumintaasje en automatysk generearre koade - 110), de feroarings beynfloede 860 bestannen, en 71 ûntwikkelders diene mei oan 'e ûntwikkeling.
De 5.44-tûke is útbrocht neffens it fêste ûntwikkelingsskema dat trettjin jier lyn fêststeld is, dat de útjefte fan nije stabile tûken ien kear yn 't jier en lytsere releases elke trije moannen omfettet. De earste lytse release, Perl 5.44.1, sil oer sawat in moanne útbrocht wurde, wêrby't de wichtichste bugs dy't ûntdutsen binne tidens de ymplemintaasje fan Perl 5.44.0 oplost wurde. Mei de útjefte fan Perl 5.44 is de stipe foar de 5.40-tûke beëinige; updates derfoar kinne yn 'e takomst allinich útbrocht wurde as krityske feiligensproblemen ûntdutsen wurde. Is begûn it ûntwikkelingsproses fan 'e eksperimintele 5.45-tûke, dy't de basis sil wêze foar de stabile release fan Perl 5.46 yn 'e earste helte fan 2027, útsein as der in beslút nommen wurdt gean oer nei nûmering 7.x.
Kaai feroarings:
- Added eksperimintele mooglikheid fan it brûken fan neamde parameters yn hantekeningen Funksjes dy't de list mei fariabelen definiearje dy't oan de funksje trochjûn wurde, net yn 'e funksjetekst, mar tidens de deklaraasje. Dizze nije funksje makket it mooglik om parameters net yn in strikte folchoarder troch te jaan, mar yn elke folchoarder, mei help fan kaai/wearde-pearen en in syntaksis dy't fergelykber is mei it tawizen fan eleminten yn hashes:
- âlde syntaksis: sub f { my ($x, $y) = @_; …} f(1, 2);
- hantekeningen: sub f ($x, $y) { … } f(1, 2);
- hantekeningen mei neamde parameters: sub f (:$x, :$y) { … } f(y => 2, x => 1);
- Eksperimintele stipe tafoege foar it brûken fan aliassen (pointers nei pointers) yn foreach-loops mei meardere fariabelen. Dizze funksje lit jo in alias oanmeitsje yn in foreach-loop by it opheljen fan meardere wearden yn ien loop-iteraasje. Jo kinne bygelyks in alias oanmeitsje foar in hash-elemint mei in array by it iterearjen oer sawol de kaaien as de wearden fan 'e hash: use v5.44; use feature qw(refaliasing declared_refs); my %hash = (one => [1], two => [2, 2],); foreach my ( $key, @items ) ( %hash ) { say "De $key-array befettet: @items"; } # Foar ferzje 5.44 soe dereferencing fereaske wêze: foreach my ( $key, $var ) ( %hash ) { say "De $key-array befettet: @$var"; } # Sûnder eksperimintele refaliasing en declared_refs funksjes: foreach my $key (keys %hash) { say "De $key array befettet: @{$hash{$key}}"; }
- Yn reguliere útdrukkings útfierd De eksperimintele 'enhanced_xx' modus makket it mooglik om de /xx-modifikaasje te brûken mei karakterklassen tusken fjouwerkante heakjes ([a-zA-Z]) om se oer meardere rigels te splitsen of om opmerkings yn te foegjen. Bygelyks, de betingst as ($tekst =~ m/[a-zA-Z]/){ koe skreaun wurde as: as ($tekst =~ m/[ a-z # lytse letters A-Z # haadletters ]/xx) {
- De pseudo-willekeurige getallengenerator brûkt de systeemoprop getentropy() om entropie te krijen op systemen dy't it stypje (Linux, BSD, macOSOp oare systemen wurdt entropie krigen troch te lêzen fan it /dev/urandom-apparaat of mei in hash fan 'e tiid, proses-ID en oanwizerwearde.
- Spesifikaasjestipe tafoege Unicode 17.0.
- Strikte neilibjen fan Unicode-regels is garandearre foar identifikatorenammen en reguliere útdrukkingsgroepen, wêrby't sawat 160 Unicode-tekens dy't earder ûnder de w-klasse foelen no ferbean binne. Bygelyks, de w-klasse, dy't alle letters, sifers en it ûnderstreekteken omfettet, slút no sirkele Latynske letters út, dy't lykje op echte letters, mar dat net binne. Dizze gedrachsferoaring hat allinich ynfloed op programma's dy't de utf8-modus brûke.
- Ferholpen kwetsberheden feroarsake troch bufferoverflows yn 'e Perl_study_chunk-funksjes (CVE-2026-8376, ferskynt yn 32-bit assembly's) en S_measure_struct (CVE-2026-57432), lykas ek oerstreaming fan 'e 16-bit teller yn 'e Regex-motor (CVE-2026-13221), wat derta liede kin dat de reguliere útdrukking mislearret.
- It springen nei posysjes binnen loops en blokkonstruksjes mei de goto-operator is ferbean. Dizze funksje is yn 2010 ôfskaft.
- Prestaasjeoptimalisaasjes waarden makke om it optellen, subtrahearjen en fermannichfâldigjen fan hiele getallen, de ferwurking fan funksjehântekeningen en it ynfoljen fan hashes út kaai-/weardelisten mei tekenrigekaaien dy't bekend binne op it kompilearjen te fersnellen.
Boarne: linux.org.ru
