Tso tawm cov lus programming Perl 5.30.0

Tom qab 11 lub hlis ntawm kev loj hlob coj qhov chaw tso tawm ib ceg ruaj khov tshiab ntawm Perl programming lus - 5.30. Hauv kev npaj qhov kev tso tawm tshiab, txog 620 txhiab kab ntawm txoj cai tau hloov pauv, cov kev hloov pauv cuam tshuam rau 1300 cov ntaub ntawv, thiab 58 tus neeg tsim khoom tau koom nrog hauv kev txhim kho.

Ceg 5.30 raug tso tawm raws li lub sijhawm txhim kho ruaj khov tau pom zoo rau xyoo dhau los, uas txhais tau hais tias kev tso tawm cov ceg ntoo ruaj khov tshiab ib xyoos ib zaug thiab kho qhov tso tawm txhua peb lub hlis. Nyob rau hauv ib hlis, nws tau npaj los tso tawm thawj qhov kev tso tawm ntawm Perl 5.30.1, uas yuav kho qhov yuam kev tseem ceeb tshaj plaws uas tau pom thaum lub sijhawm ua tiav Perl 5.30.0. Nrog rau kev tso tawm ntawm Perl 5.30, kev txhawb nqa rau 5.26 ceg tau txiav tawm, rau qhov kev hloov kho tshiab yuav raug tso tawm yav tom ntej tsuas yog pom muaj teeb meem kev nyab xeeb tseem ceeb. Txoj kev txhim kho ntawm cov ceg sim 5.31 kuj tau pib, raws li qhov kev tso tawm ruaj khov ntawm Perl 2020 yuav raug tsim nyob rau lub Tsib Hlis 5.32.

Ntsiab hloov:

  • Kev sim txhawb rau "" kev ua haujlwm tau ntxiv rau cov lus qhia tsis tu ncua.(?β€Ή! qauv)"Thiab"(?β€Ή= qauv)Β» rau kev txwv tsis pub nkag mus rau cov txheej txheem npe uas tau ua dhau los. Tus qauv txhais yuav tsum tsis pub dhau 255 tus cim ntawm qhov siv taw tes;
  • Tus nqi siab tshaj plaws ntawm qhov loj me (β€œn”) hauv β€œ{m,n}” cov lus qhia tsis tu ncua tau nce mus rau 65534;
  • Ntxiv txwv yug lub qhov ncauj qhov ntswg los qhia txog qee pawg ntawm cov cim hauv cov kab lus tsis tu ncua, npog cov txheej Unicode sib txawv. Piv txwv li, cov lus hais "qr! \p{nv= /(?x) \A [0-5] \z / }!” tso cai rau koj xaiv tag nrho cov cim Unicode uas txhais cov lej ntawm 0 txog 5, suav nrog cov ntawv Thaib lossis Bengali cov lej;
  • Ntxiv kev txhawb nqa rau cov cim npe hauv cov kab lus tsis tu ncua
    sab hauv cov qauv txiav los ntawm ib qho lus qhia (qr'\N{name}');

  • Unicode specification txhawb kev hloov kho rau version 12.1. Tus chij sim txhim kho tau raug tshem tawm ntawm kev hu sv_utf8_downgrade thiab sv_utf8_decode, siv nyob rau hauv kev loj hlob ntawm extensions nyob rau hauv cov lus C;
  • Ntxiv lub peev xwm los tsim perl nrog kev ua haujlwm ntawm kev ua haujlwm nrog thaj chaw uas txhawb nqa kev ua haujlwm ntau txoj xov (-Accflags = '-DUSE_THREAD_SAFE_LOCALE'). Yav dhau los, qhov kev siv no tsuas yog siv thaum tsim ntau txoj xov ntawm Perl, tab sis tam sim no tuaj yeem qhib rau txhua qhov tsim;
  • Kev sib txuas cov "-Dv" (txhim kho kev debugging tso zis) thiab "-Dr" (regex debugging) chij tam sim no ua rau tag nrho cov kev qhia tawm debugging hom yuav tsum tau qhib;
  • Cov yam ntxwv yav dhau los deprecated tau raug tshem tawm:
    • Tam sim no muaj raws li kab cais thiab cov cim cim cim tso cai siv xwb graphemes (tsis pub cov cim Unicode sib xyaw).
    • Txiav tawm kev txhawb nqa rau qee cov ntaub ntawv tsis siv sijhawm ntev ntawm kev siv "{" tus cwj pwm hauv cov lus hais tsis tu ncua tsis tau khiav tawm.
    • Nws yog txwv tsis pub siv sysread(), syswrite(), recv() thiab xa() ua haujlwm nrog ":utf8" handlers.
    • Nws raug txwv tsis pub siv cov ntsiab lus ntawm "kuv" hauv cov lus tsis raug cai (piv txwv li, "kuv $ x yog 0").
    • Kev them nyiaj yug rau qhov txawv txav tshwj xeeb "$*" thiab "$#" raug tshem tawm.
      Kev them nyiaj yug rau implicit hu rau lub dump() muaj nuj nqi tau raug txiav lawm (koj yuav tsum tam sim no qhia meej meej CORE:: dump()).

    • Cov ntaub ntawv::Glob::glob muaj nuj nqi raug tshem tawm (koj yuav tsum siv Cov Ntaub Ntawv::Glob::bsd_glob).
    • Ntxiv kev tiv thaiv rau pob() tiv thaiv rov qab cov ntaub ntawv Unicode tsis raug.
    • Qhov kawg ntawm kev txhawb nqa rau kev siv macros uas ua haujlwm nrog UTF-8 hauv XS code (C blocks) tau raug ncua mus txog rau thaum tso tawm tom ntej.
  • Kev ua tau zoo optimization:
    • Kev txhais lus ua haujlwm los ntawm UTF-8 rau cov qauv tsim tau nrawm dua (code point), piv txwv li, kev ua haujlwm ord(β€œ\x7fff”) tam sim no xav tau 12% cov lus qhia tsawg dua. Kev ua haujlwm ntawm kev ua haujlwm tshawb xyuas qhov tseeb ntawm UTF-8 cov cim kab ke kuj tau nce ntxiv;
    • Recursive hu hauv finalize_op() muaj nuj nqi raug tshem tawm;
    • Ua kom zoo me me rau cov cai rau kev sib tsoo cov cim zoo ib yam thiab txhais cov chav kawm ua cim hauv cov kab lus tsis tu ncua;
    • Ua kom zoo converting hom kos npe txhais rau unsigned sawv daws yuav (IV rau UV);
    • Lub algorithm rau converting integers rau hauv ib txoj hlua tau nrawm los ntawm kev ua ob tug lej ib zaug tsis yog ib qho;
    • Kev txhim kho tau ua tiav npaj raws li kev txheeb xyuas los ntawm LGTM;
    • Optimized code hauv cov ntaub ntawv regcomp.c, regcomp.h thiab regexec.c;
    • Hauv cov kab lus tsis tu ncua, kev ua cov qauv zoo li "qr/[^a]/" nrog cov cim ASCII tau nrawm heev.
  • Kev them nyiaj yug rau Minix3 platform tau rov qab los. Nws muaj peev xwm tsim tau siv Microsoft Visual Studio 2019 compiler (Visual C ++ 14.2);
  • Hloov tshiab versions ntawm modules suav nrog hauv cov pob yooj yim. Modules tau raug tshem tawm ntawm lub ntsiab muaj pes tsawg leeg B:: Debug ΠΈ Qhov chaw:: Codes.

Tau qhov twg los: opennet.ru

Ntxiv ib saib