Baada ya mwaka wa maendeleo iliyochapishwa kutolewa kwa tawi jipya la lugha ya programu ya Perl - 5.44. Katika kuandaa Toleo jipya lilibadilisha takriban mistari 270 ya msimbo (ukiondoa nyaraka na msimbo uliozalishwa kiotomatiki - 110), mabadiliko hayo yaliathiri faili 860, na watengenezaji 71 walishiriki katika uundaji.
Tawi la 5.44 limetolewa kwa mujibu wa ratiba ya maendeleo iliyoanzishwa miaka kumi na tatu iliyopita, ambayo inahitaji kutolewa kwa matawi mapya thabiti mara moja kwa mwaka na kutolewa madogo kila baada ya miezi mitatu. Toleo la kwanza dogo, Perl 5.44.1, limepangwa kutolewa katika takriban mwezi mmoja, na kurekebisha hitilafu muhimu zaidi zilizogunduliwa wakati wa utekelezaji wa Perl 5.44.0. Kwa kutolewa kwa Perl 5.44, usaidizi wa tawi la 5.40 umeisha; masasisho yake yanaweza kutolewa katika siku zijazo ikiwa tu masuala muhimu ya usalama yatagunduliwa. Imeanza mchakato wa uundaji wa tawi la majaribio la 5.45, ambalo litakuwa msingi wa kutolewa kwa Perl 5.46 katika nusu ya kwanza ya 2027, isipokuwa uamuzi utakapofanywa kwenda juu hadi nambari 7.x.
Ufunguo mabadiliko:
- Imeongezwa uwezekano wa majaribio wa kutumia vigezo vilivyopewa majina katika sahihi Vitendakazi vinavyofafanua orodha ya vigezo vilivyopitishwa kwenye kitendakazi si katika mwili wa kitendakazi, bali wakati wa tamko lake. Kipengele hiki kipya huruhusu vigezo kupitishwa si kwa mpangilio mkali, bali kwa mpangilio wowote, kwa kutumia jozi za ufunguo/thamani na sintaksia inayofanana na kugawa vipengele katika hashi:
- sintaksia ya zamani: sub f { yangu ($x, $y) = @_; …} f(1, 2);
- sahihi: ndogo f ($x, $y) { … } f(1, 2);
- sahihi zenye vigezo vilivyopewa majina: ndogo f (:$x, :$y) { … } f (y => 2, x => 1);
- Imeongeza usaidizi wa majaribio kwa kutumia majina bandia (viashiria vya viashiria) katika vitanzi vya foreach vyenye vigeu vingi. Kipengele hiki hukuruhusu kuunda jina bandia katika kitanzi cha foreach wakati wa kupata thamani nyingi katika urudiaji wa kitanzi kimoja. Kwa mfano, unaweza kuunda jina bandia kwa kipengele cha hash chenye safu wakati wa urudiaji juu ya funguo na thamani zote mbili za hash: tumia v5.44; tumia kipengele qw( refaliasing declared_refs ); my %hash = ( one => [1], two => [2, 2], ); foreach my ( $key, @items ) ( %hash ) { sema "Safu ya $key ina: @items"; } # Kabla ya toleo la 5.44, kufuta marejeleo kungehitajika: foreach my ( $key, $var ) ( %hash ) { sema "Safu ya $key ina: @$var"; } # Bila vipengele vya majaribio vya kurejesha upya na kutangaza_refs: foreach my $key (funguo %hash) { sema "Safu ya $key ina: @{$hash{$key}}"; }
- Katika misemo ya kawaida kutekelezwa Hali ya majaribio ya 'enhanced_xx' inaruhusu kirekebishaji cha /xx kutumika na madarasa ya herufi katika mabano ya mraba ([a-zA-Z]) ili kuyagawanya katika mistari mingi au kuingiza maoni. Kwa mfano, sharti la if ($text =~ m/[a-zA-Z]/){ linaweza kuandikwa kama: if ($text =~ m/[ a-z # herufi ndogo A-Z # herufi kubwa ]/xx) {
- Jenereta ya nambari bandia nasibu hutumia simu ya mfumo ya getentropy() ili kupata entropy kwenye mifumo inayoiunga mkono (Linux, BSD, macOS). Kwenye mifumo mingine, entropy hupatikana kwa kusoma kutoka kwa kifaa cha /dev/urandom au kutumia hash ya wakati, kitambulisho cha mchakato, na thamani ya kielekezi.
- Aliongeza usaidizi wa vipimo Unicode 17.0.
- Uzingatiaji mkali wa sheria za Unicode umehakikishwa kwa majina ya vitambulisho na vikundi vya usemi wa kawaida, huku takriban herufi 160 za Unicode ambazo hapo awali zilifunikwa na darasa la w sasa zikiwa zimepigwa marufuku. Kwa mfano, darasa la w, ambalo linashughulikia herufi zote, tarakimu, na herufi ya chini, sasa halijumuishi herufi za Kilatini zilizozungushwa, ambazo zinafanana na herufi halisi lakini hazifanani. Mabadiliko haya ya tabia huathiri tu programu zinazotumia modi ya matumizi ya utf8.
- Udhaifu uliorekebishwa unaosababishwa na kufurika kwa bafa katika vitendakazi vya Perl_study_chunk (CVE-2026-8376, inaonekana katika mikusanyiko ya biti 32) na S_measure_struct (CVE-2026-57432), pamoja na kufurika kwa kaunta ya biti 16 kwenye injini ya Regex (CVE-2026-13221), ambayo inaweza kusababisha usemi wa kawaida kushindwa.
- Kuruka hadi nafasi ndani ya vitanzi na miundo ya vitalu kwa kutumia opereta wa goto ni marufuku. Kipengele hiki kiliondolewa katika huduma mwaka wa 2010.
- Uboreshaji wa utendaji ulifanywa ili kuharakisha kujumlisha, kutoa, na kuzidisha nambari kamili, usindikaji wa sahihi za vitendakazi, na kujaza hashi kutoka kwenye orodha za vitufe/thamani kwa kutumia vitufe vya kamba vinavyojulikana wakati wa kukusanya.
Chanzo: linux.org.ru
