د 11 میاشتو پراختیا وروسته
څانګه 5.30 د ټاکل شوي پرمختیایي مهالویش سره سم چې شپږ کاله دمخه تصویب شوی خپور شو، چې په کال کې یو ځل د نوي باثباته څانګو خوشې کول او په هرو دریو میاشتو کې اصلاحي خپرونه معنی لري. په شاوخوا یوه میاشت کې ، دا پلان شوی چې د پرل 5.30.1 لومړی اصلاحي خپرونه خوشې کړي ، کوم چې به د پرل 5.30.0 پلي کولو پرمهال پیژندل شوي خورا مهمې غلطۍ سمې کړي. د پرل 5.30 خوشې کولو سره، د 5.26 څانګې لپاره ملاتړ بند شوی، د کوم لپاره چې تازه معلومات یوازې په راتلونکي کې خوشې کیدی شي که جدي امنیتي ستونزې وپیژندل شي. د تجربوي څانګې 5.31 پراختیا پروسه هم پیل شوې ، د کوم په اساس چې د پرل 2020 مستحکم خوشې کول به په می 5.32 کې رامینځته شي.
کلید
- د " "عملیاتو لپاره تجرباتي ملاتړ په منظم بیانونو کې اضافه شوی.
(؟! نمونه) "او"(?‹ = نمونه) » مخکې پروسس شوي نوم شوي ټیمپلیټونو ته د محدود لاسرسي لپاره. د نمونې تعریف باید د حوالې نقطې 255 حروف کې وي؛ - د "{m,n}" منظم بیان بلاکونو کې د اندازې مشخص کونکي ("n") اعظمي ارزښت 65534 ته لوړ شوی؛
- محدود اضافه شوي
ملاتړ ماسکونه په منظم بیانونو کې د کرکټرونو ځینې کټګورۍ روښانه کولو لپاره ، مختلف یونیکوډ سیټونه پوښي. د مثال په توګه، بیان "qr! \p{nv= /(?x) \A [0-5] \z / }!” تاسو ته اجازه درکوي ټول یونیکوډ حروف غوره کړئ چې د 0 څخه تر 5 پورې شمیرې تعریفوي، په شمول د تای یا بنګالي شمیرو املا؛ - په منظم بیانونو کې د نومول شوي کرکټرونو لپاره ملاتړ اضافه شوی
دننه نمونې د واحد نرخونو لخوا محدود شوي (qr'\N{name}'); - د یونیکوډ مشخصاتو ملاتړ نسخه ته تازه شوی
12.1 . د تجربوي پراختیا بیرغ له زنګونو څخه لرې شویsv_utf8_downgrade и sv_utf8_decode , په C ژبه کې د توسیع په پراختیا کې کارول کیږي؛ - د یو ځای سره د عملیاتو پلي کولو سره د پرل رامینځته کولو وړتیا اضافه کړه کوم چې د څو تارونو عملیاتو ملاتړ کوي (-Accflags='-DUSE_THREAD_SAFE_LOCALE'). پخوا، دا ډول تطبیق یوازې د پرل څو اړخیزه نسخه جوړولو په وخت کې کارول کیده، مګر اوس د هر ډول جوړونې لپاره فعال کیدی شي؛
- د "-Dv" (پرمختللي ډیبګ کولو محصول) او "-Dr" (regex debugging) بیرغونه یوځای کول اوس د دې لامل کیږي چې د ټولو ممکنه منظم بیان ډیبګ کولو حالتونه فعال شي؛
- هغه ځانګړتیاوې چې مخکې له مینځه وړل شوي وې لیرې شوي دي:
- اوس د لاین جلا کونکي او وائلډ کارډ کرکټرونو په توګه شتون لري
اجازه یوازې وکاروئګرافیم (کمپوز یونیکوډ حروف اجازه نه لري). -
بند شوی د "{" کرکټر په منظم بیانونو کې پرته له دې چې له تیښتې څخه کار واخیستل شي د ځینې اوږد مهاله ډولونو لپاره ملاتړ کوي. -
دا منع ده. د sysread()، syswrite()، recv() او send() افعال د ":utf8" هینډلرونو سره کارول. - دا ممنوع ده چې د "زما" تعریفونه په طبیعي ډول غلط شرطي بیاناتو کې وکاروئ (د مثال په توګه، "زما $ x که 0").
- د ځانګړي متغیرونو لپاره ملاتړ "$*" او "$#" لرې شوی.
د ډمپ() فنکشن د ضمني زنګ وهلو لپاره ملاتړ بند شوی دی (تاسو باید اوس په واضح ډول د CORE::dump()) مشخص کړئ. - دوتنه::Glob::glob فنکشن لرې شوی (تاسو باید فایل::Glob::bsd_glob وکاروئ).
- د غلط یونیکوډ ترتیبونو بیرته راستنیدو پروړاندې پیک() ته محافظت اضافه شوی.
- د میکرو کارولو لپاره د ملاتړ پای چې په XS کوډ (C بلاکس) کې د UTF-8 سره عملیات ترسره کوي تر راتلونکي خوشې کیدو پورې ځنډول شوي.
- اوس د لاین جلا کونکي او وائلډ کارډ کرکټرونو په توګه شتون لري
- د فعالیت اصلاح:
- د UTF-8 څخه د کرکټر ترتیب ته د ژباړې عملیات ګړندي شوي (
کوډ ټکی )، د مثال په توګه، د حکم ("\x7fff") عملیات ترسره کول اوس 12٪ لږ لارښوونو ته اړتیا لري. د عملیاتو فعالیت چې د UTF-8 کریکټ ترتیبونو سموالي معاینه کوي هم ډیر شوي؛ - په finalize_op() فنکشن کې تکراري زنګونه له منځه وړل شوي؛
- د ورته حروفونو د ماتولو او په منظم بیانونو کې د کرکټر ټولګیو تعریف کولو لپاره کوډ ته کوچني اصلاح کول؛
-
اصلاح شوی د لاسلیک شوي ډول تعریفونه غیر لاسلیک شوي (IV ته UV) ته بدلول؛ - په تار کې د عددونو د بدلولو لپاره الګوریتم د یوې پرځای دوه عددونو په یوځل کې پروسس کولو سره ګړندی شوی؛
- پرمختګونه شوي دي
چمتو شوی د LGTM لخوا د تحلیل پراساس؛ - regcomp.c، regcomp.h او regexec.c فایلونو کې مطلوب کوډ؛
- په منظم بیانونو کې، د نمونو پروسس کول لکه "qr/[^a]/" د ASCII حروفونو سره د پام وړ ګړندي شوي.
- د UTF-8 څخه د کرکټر ترتیب ته د ژباړې عملیات ګړندي شوي (
- د Minix3 پلیټ فارم لپاره ملاتړ بحال شوی. دا ممکنه ده چې د مایکروسافټ ویژول سټوډیو 2019 کمپیلر (Visual C++ 14.2) په کارولو سره جوړ کړئ؛
- د ماډلونو تازه شوي نسخې په لومړني کڅوړه کې شامل دي. ماډلونه د اصلي جوړښت څخه لیرې شوي دي
ب:: ډیبګ иځای:: کوډونه .
سرچینه: opennet.ru