Perl 5.44


3

Vuoden kehitystyön jälkeen julkaistu Perl-ohjelmointikielen uuden vakaan haaran julkaisu - 5.44. at valmistautuminen Uusi julkaisu muutti noin 270 000 koodiriviä (pois lukien dokumentaatio ja automaattisesti luotu koodi - 110 000), muutokset vaikuttivat 860 tiedostoon ja kehitykseen osallistui 71 kehittäjää.

5.44-haara on julkaistu kolmetoista vuotta sitten vahvistetun kiinteän kehitysaikataulun mukaisesti, jonka mukaan uusia vakaita haaroja julkaistaan ​​kerran vuodessa ja pienempiä julkaisuja kolmen kuukauden välein. Ensimmäinen pienempi julkaisu, Perl 5.44.1, on määrä julkaista noin kuukauden kuluttua, ja se korjaa merkittävimmät Perl 5.44.0:n käyttöönoton aikana havaitut virheet. Perl 5.44:n julkaisun myötä 5.40-haaran tuki on päättynyt; sen päivityksiä voidaan julkaista tulevaisuudessa vain, jos kriittisiä tietoturvaongelmia havaitaan. aloitti kokeellisen 5.45-haaran kehitysprosessi, joka toimii perustana Perl 5.46:n vakaalle julkaisulle vuoden 2027 alkupuoliskolla, ellei päätöstä tehdä mennä yli numerointiin 7.x.

Avain muutokset:

  • lisätty kokeellinen mahdollisuus käyttää nimettyjä parametreja allekirjoitukset Funktiot, jotka määrittelevät funktiolle välitettävien muuttujien luettelon funktion rungon sijaan. Tämä uusi ominaisuus mahdollistaa parametrien välittämisen missä tahansa järjestyksessä, ei ehdottomassa järjestyksessä, käyttäen avain/arvo-pareja ja syntaksia, joka on samanlainen kuin elementtien osoittaminen tiivisteissä:
    • vanha syntaksi: sub f { my ($x, $y) = @_; …} f(1, 2);
    • allekirjoitukset: sub f ($x, $y) { … } f(1, 2);
    • allekirjoitukset nimetyillä parametreilla: sub f (:$x, :$y) { … } f(y => 2, x => 1);
  • Lisätty kokeellinen tuki aliasten (osoittimien osoittajiksi) käytölle foreach-silmukoissa, joissa on useita muuttujia. Tämän ominaisuuden avulla voit luoda aliaksen foreach-silmukkaan, kun haetaan useita arvoja yhden silmukan iteraatiossa. Voit esimerkiksi luoda aliaksen hajautuselementille, jossa on taulukko, kun iteroit sekä hajautuksen avaimet että arvot: käytä versiota 5.44; käytä ominaisuutta qw( realiasing declared_refs ); my %hash = ( one => [1], two => [2, 2], ); foreach my ( $key, @items ) ( %hash ) { say "$key-taulukko sisältää: @items"; } # Ennen versiota 5.44 viittausten poisto olisi ollut tarpeen: foreach my ( $key, $var ) ( %hash ) { say "$key-taulukko sisältää: @$var"; } # Ilman kokeellista uudelleenaliasointia ja declared_refs-ominaisuuksia: foreach my $key (keys %hash) { say "$key-taulukko sisältää: @{$hash{$key}}"; }
  • Säännöllisissä lausekkeissa toteutettu Kokeellinen 'enhanced_xx'-tila mahdollistaa /xx-muokkaimen käytön hakasulkeissa olevien merkistöluokkien ([a-zA-Z]) kanssa niiden jakamiseksi useille riveille tai kommenttien lisäämiseksi. Esimerkiksi ehto if ($text =~ m/[a-zA-Z]/){ voitaisiin kirjoittaa muodossa: if ($text =~ m/[ a-z # pienet kirjaimet A-Z # isot kirjaimet ]/xx) {
  • Näennäissatunnaislukugeneraattori käyttää getentropy()-järjestelmäkutsua entropian laskemiseen järjestelmissä, jotka tukevat sitä (Linux, BSD, macOS). Muissa järjestelmissä entropia saadaan lukemalla /dev/urandom-laitteesta tai käyttämällä ajan, prosessi-ID:n ja osoittimen arvon tiivistettä.
  • Lisätty spesifikaatioiden tuki Unicode 17.0.
  • Tunnisteiden nimien ja säännöllisten lausekkeiden ryhmien osalta on varmistettu Unicode-sääntöjen tarkka noudattaminen, ja noin 160 Unicode-merkkiä, jotka aiemmin kuuluivat w-luokan piiriin, on nyt kielletty. Esimerkiksi w-luokka, joka kattaa kaikki kirjaimet, numerot ja alaviivan, sulkee nyt pois ympyröidyt latinalaiset kirjaimet, jotka muistuttavat oikeita kirjaimia, mutta eivät ole. Tämä toiminnan muutos vaikuttaa vain use utf8 -tilaa käyttäviin ohjelmiin.
  • Korjattu Perl_study_chunk-funktioiden puskurin ylivuotojen aiheuttamia haavoittuvuuksia (CVE-2026-8376, esiintyy 32-bittisissä kokoonpanoissa) ja S_measure_struct (CVE-2026-57432), sekä Regex-moottorin 16-bittisen laskurin ylivuoto (CVE-2026-13221), mikä voi aiheuttaa säännöllisen lausekkeen epäonnistumisen.
  • Silmukoiden ja lohkorakenteiden sisällä ei saa hypätä goto-operaattoria käyttäen. Tämä ominaisuus poistettiin käytöstä vuonna 2010.
  • Suorituskykyä optimoitiin kokonaislukujen yhteen-, vähennys- ja kertolaskujen, funktioiden allekirjoitusten käsittelyn ja avain-/arvolistojen tiivisteiden täyttämisen nopeuttamiseksi käännösaikana tunnetuilla merkkijonoavaimilla.

Lähde: linux.org.ru

Osta luotettava isännöinti sivustoille, joissa on DDoS-suojaus, VPS VDS -palvelimet 🔥 Osta luotettavaa verkkosivustojen hostingia DDoS-suojauksella, VPS VDS -palvelimilla | ProHoster