Tom qab ib xyoos ntawm kev loj hlob luam tawm tso tawm ib ceg ruaj khov tshiab ntawm Perl programming lus - 5.44... Thaum npaj Qhov kev tso tawm tshiab tau hloov pauv kwv yees li 270 kab ntawm cov lej (tsis suav nrog cov ntaub ntawv thiab cov lej tsim tawm tsis siv neeg - 110), cov kev hloov pauv cuam tshuam rau 860 cov ntaub ntawv, thiab 71 tus neeg tsim khoom tau koom nrog hauv kev tsim kho.
Ceg 5.44 tau raug tso tawm raws li lub sijhawm tsim kho uas tau tsim tsa kaum peb xyoos dhau los, uas hu rau kev tso tawm cov ceg tshiab ruaj khov ib xyoos ib zaug thiab cov kev tso tawm me me txhua peb lub hlis. Qhov kev tso tawm me me thawj zaug, Perl 5.44.1, tau teem sijhawm rau kev tso tawm hauv ib hlis, kho cov kab laum tseem ceeb tshaj plaws uas pom thaum lub sijhawm siv Perl 5.44.0. Nrog rau kev tso tawm ntawm Perl 5.44, kev txhawb nqa rau ceg 5.40 tau xaus; kev hloov kho rau nws yuav raug tso tawm yav tom ntej tsuas yog tias pom muaj teeb meem kev ruaj ntseg tseem ceeb. Tau pib cov txheej txheem kev tsim kho ntawm ceg sim 5.45, uas yuav yog lub hauv paus rau kev tso tawm ruaj khov ntawm Perl 5.46 hauv thawj ib nrab ntawm xyoo 2027, tshwj tsis yog tias muaj kev txiav txim siab. mus dua rau tus lej 7.x.
Ntsiab hloov:
- Ntxiv kev sim ua tau ntawm kev siv cov parameters uas muaj npe hauv cov kos npe Cov haujlwm uas txhais cov npe ntawm cov hloov pauv uas tau xa mus rau lub luag haujlwm tsis yog nyob rau hauv lub cev ua haujlwm, tab sis thaum lub sijhawm nws tshaj tawm. Qhov tshiab no tso cai rau cov kev cai kom dhau los tsis yog nyob rau hauv ib qho kev txiav txim nruj, tab sis nyob rau hauv txhua qhov kev txiav txim, siv cov khub tseem ceeb / tus nqi thiab cov syntax zoo ib yam li kev muab cov ntsiab lus hauv hashes:
- cov qauv qub: sub f { kuv ($x, $y) = @_; …} f(1, 2);
- cov kos npe: sub f ($x, $y) { … } f(1, 2);
- cov kos npe nrog cov kev teeb tsa muaj npe: sub f (: $ x, : $ y) { … } f (y => 2, x => 1);
- Ntxiv kev txhawb nqa kev sim rau kev siv aliases (pointers rau pointers) hauv foreach loops nrog ntau yam hloov pauv. Qhov feature no tso cai rau koj los tsim ib qho alias hauv foreach loop thaum rov qab tau ntau tus nqi hauv ib qho iteration voj voog. Piv txwv li, koj tuaj yeem tsim ib qho alias rau ib qho hash element nrog ib qho array thaum iterating hla ob qho tib si cov yuam sij thiab tus nqi ntawm hash: siv v5.44; siv feature qw (refaliasing declared_refs); kuv % hash = (ib => [1], ob => [2, 2],); foreach kuv ($key, @items) (% hash) {hais tias "Tus $key array muaj: @items";} # Ua ntej version 5.44, dereferencing yuav tsum tau: foreach kuv ($key, $var) (% hash) {hais tias "Tus $key array muaj: @$var"; } # Tsis muaj kev sim rov ua dua tshiab thiab cov yam ntxwv tshaj tawm_refs: foreach kuv $key (keys %hash) {hais tias "Tus $key array muaj: @{$hash{$key}}"; }
- Hauv cov lus qhia tsis tu ncua ua raws Qhov kev sim 'enhanced_xx' hom tso cai rau /xx modifier siv nrog cov chav kawm cim hauv cov ntawv cim plaub fab ([a-zA-Z]) los faib lawv hla ntau kab lossis ntxig cov lus tawm tswv yim. Piv txwv li, qhov xwm txheej yog tias ($text =~ m/[a-zA-Z]/){ tuaj yeem sau ua: yog tias ($text =~ m/[a-z # cov ntawv me A-Z # cov ntawv loj ]/xx) {
- Tus tsim tus lej pseudo-random siv qhov system hu ua getentropy() kom tau txais entropy ntawm cov kab ke uas txhawb nqa nws (Linux, BSD, macOS). Ntawm lwm lub tshuab, entropy tau txais los ntawm kev nyeem los ntawm lub cuab yeej /dev/urandom lossis siv cov hash ntawm lub sijhawm, tus txheej txheem ID, thiab tus nqi pointer.
- Ntxiv specification txhawb Unicode 17.0.
- Kev ua raws li cov cai Unicode tau ua kom ntseeg tau tias muaj cov npe cim thiab cov pab pawg qhia tawm tsis tu ncua, nrog rau kwv yees li 160 tus cim Unicode uas yav dhau los tau them los ntawm chav kawm w tam sim no txwv tsis pub siv. Piv txwv li, chav kawm w, uas suav nrog txhua tus ntawv, tus lej, thiab tus cim underscore, tam sim no tsis suav nrog cov ntawv Latin uas muaj voj voog, uas zoo li cov ntawv tiag tiag tab sis tsis yog. Qhov kev hloov pauv tus cwj pwm no tsuas yog cuam tshuam rau cov kev pab cuam siv hom utf8.
- Kho qhov tsis muaj zog uas tshwm sim los ntawm buffer overflows hauv Perl_study_chunk functions (CVE-2026-8376, tshwm sim hauv 32-ntsis sib dhos) thiab S_measure_struct (CVE-2026-57432), nrog rau kev puv ntawm 16-ntsis counter hauv Regex engine (CVE-2026-13221), uas yuav ua rau qhov kev qhia tsis tu ncua tsis ua haujlwm.
- Txwv tsis pub siv tus goto operator mus rau qhov chaw hauv cov loops thiab block constructs. Qhov feature no tau raug tshem tawm hauv xyoo 2010.
- Kev ua kom zoo dua ntawm kev ua tau zoo tau ua kom nrawm dua qhov kev ntxiv lej, kev rho tawm, thiab kev sib npaug, kev ua cov haujlwm kos npe, thiab kev sau cov hashes los ntawm cov npe tseem ceeb / tus nqi nrog cov yuam sij hlua paub thaum lub sijhawm sau ua ke.
Tau qhov twg los: linux.org.ru ua
