Kutulutsidwa kwa chilankhulo cha pulogalamu Perl 5.30.0

Pambuyo 11 miyezi chitukuko chinachitika kutulutsidwa kwa nthambi yokhazikika ya chilankhulo cha Perl - 5.30. Pokonzekera kumasulidwa kwatsopano, pafupifupi mizere ya 620 zikwi za code inasinthidwa, zosinthazo zinakhudza mafayilo a 1300, ndipo opanga 58 adatenga nawo mbali pa chitukuko.

Nthambi 5.30 inatulutsidwa motsatira ndondomeko yachitukuko yokhazikika yomwe inavomerezedwa zaka zisanu ndi chimodzi zapitazo, zomwe zikutanthauza kutulutsidwa kwa nthambi zatsopano zokhazikika kamodzi pachaka ndi kukonzanso kumasulidwa miyezi itatu iliyonse. Pafupifupi mwezi umodzi, akukonzekera kumasula kumasulidwa koyamba kokonzekera kwa Perl 5.30.1, komwe kudzakonza zolakwika zazikulu zomwe zadziwika panthawi ya Perl 5.30.0. Pamodzi ndi kutulutsidwa kwa Perl 5.30, kuthandizira kwa nthambi ya 5.26 kunathetsedwa, zomwe zosintha zikhoza kumasulidwa mtsogolomu pokhapokha ngati mavuto aakulu a chitetezo adziwika. Ntchito yopititsa patsogolo nthambi yoyesera 5.31 yayambanso, pamaziko omwe kumasulidwa kokhazikika kwa Perl 2020 kudzapangidwa mu May 5.32.

Chinsinsi kusintha:

  • Thandizo loyesera la "" machitidwe awonjezedwa pamawu okhazikika.(?β€Ή!chitsanzo)"Ndipo"(?β€Ή=chitsanzo)Β» kuti muthe kupeza ma tempuleti omwe adasinthidwa kale. Tanthauzo lachitsanzo liyenera kukhala mkati mwa zilembo za 255 za malo ofotokozera;
  • Mtengo wokwanira wa zofotokozera za kukula ("n") mu "{m,n}" midadada yanthawi zonse yawonjezeka kufika pa 65534;
  • Anawonjezera zochepa thandizo masks kuti awonetse magulu ena a zilembo m'mawu okhazikika, ophatikiza ma seti osiyanasiyana a Unicode. Mwachitsanzo, mawu akuti β€œqr! \p{nv= /(?x) \A [0-5] \z / }!" imakupatsani mwayi wosankha zilembo zonse za Unicode zomwe zimatanthauzira manambala kuyambira 0 mpaka 5, kuphatikiza masipelo a manambala achi Thai kapena Chibengali;
  • Zowonjezera zothandizira zilembo zotchulidwa m'mawu okhazikika
    machitidwe amkati odulidwa ndi mawu amodzi (qr'\N{name}');

  • Thandizo la mafotokozedwe a Unicode lasinthidwa kukhala mtundu 12.1. Mbendera yoyeserera yachotsedwa pama foni sv_utf8_downgrade ndi sv_utf8_decode, zogwiritsidwa ntchito popanga zowonjezera m'chinenero cha C;
  • Anawonjezera kuthekera kopanga perl ndikukhazikitsa magwiridwe antchito ndi malo omwe amathandizira magwiridwe antchito amitundu yambiri (-Accflags='-DUSE_THREAD_SAFE_LOCALE'). M'mbuyomu, kukhazikitsa koteroko kunkagwiritsidwa ntchito pokhapokha pomanga mtundu wa Perl wamitundu yambiri, koma tsopano ukhoza kuthandizidwa kumanga kulikonse;
  • Kuphatikizira "-Dv" (kutulutsa kosintha kowonjezera) ndi "-Dr" (regex debugging) mbendera tsopano kumapangitsa kuti njira zonse zosinthira mayendedwe azitsegulidwa;
  • Zinthu zomwe zidasiyidwa kale zachotsedwa:
    • Tsopano ikupezeka ngati cholekanitsa mizere ndi zilembo zakutchire kuloledwa ntchito kokha zithunzi (zilembo zophatikizika za Unicode siziloledwa).
    • Anasiya kuthandizira mitundu ina yachikale yogwiritsa ntchito zilembo za "{" m'mawu okhazikika osathawa.
    • Π—Π°ΠΏΡ€Π΅Ρ‰Π΅Π½ΠΎ pogwiritsa ntchito sysread (), syswrite (), recv () ndi kutumiza () ntchito ndi ": utf8".
    • Ndizoletsedwa kugwiritsa ntchito matanthauzo a "wanga" m'mawu omwe ali onama (mwachitsanzo, "my $x ngati 0").
    • Thandizo lazosintha zapadera "$*" ndi "$#" zachotsedwa.
      Kuthandizira kuyitanira kwathunthu kwa dump() ntchito kwathetsedwa (muyenera kufotokoza momveka bwino CORE::dump()).

    • Fayilo::Glob::glob function yachotsedwa (muyenera kugwiritsa ntchito Fayilo::Glob::bsd_glob).
    • Chitetezo chowonjezera pa paketi () motsutsana ndi kubwereranso kolakwika kwa Unicode.
    • Mapeto a chithandizo chogwiritsa ntchito ma macros omwe amagwira ntchito ndi UTF-8 mu XS code (C blocks) adayimitsidwa mpaka kutulutsidwa kotsatira.
  • Kukhathamiritsa Kwantchito:
    • Ntchito zomasulira kuchokera ku UTF-8 kupita ku masanjidwe a zilembo zafulumizitsidwa (kodi point), mwachitsanzo, kugwira ntchito ya ord(β€œ\x7fff”) tsopano kumafuna malangizo ochepera 12%. Kachitidwe ka ntchito kowunika kulondola kwa machitidwe a UTF-8 wawonjezedwanso;
    • Mafoni obwerezabwereza mu finalize_op () ntchito yachotsedwa;
    • Anapanga kukhathamiritsa kwapang'ono pamakhodi kuti agwetse zilembo zofananira ndikutanthauzira magulu azikhalidwe m'mawu okhazikika;
    • Zokometsedwa kusintha matanthauzo amtundu wosainidwa kukhala osasainidwa (IV kukhala UV);
    • Ma aligorivimu osinthira manambala kukhala chingwe afulumizitsidwa pokonza manambala awiri nthawi imodzi m'malo mwa imodzi;
    • Kuwongolera kwapangidwa kukonzekera kutengera kusanthula kwa LGTM;
    • Khodi yokhathamiritsa mumafayilo regcomp.c, regmp.h ndi regexec.c;
    • M'mawu anthawi zonse, kukonza kwamitundu ngati "qr/[^a]/" yokhala ndi zilembo za ASCII kwafulumizitsa kwambiri.
  • Thandizo la nsanja ya Minix3 yabwezeretsedwa. Ndizotheka kumanga pogwiritsa ntchito Microsoft Visual Studio 2019 compiler (Visual C++ 14.2);
  • Ma module osinthidwa omwe ali mu phukusi loyambira. Ma module achotsedwa pagulu lalikulu B:: Chotsani ΠΈ Malo::Kodi.

Source: opennet.ru

Kuwonjezera ndemanga