பெர்ல் 5.30.0 நிரலாக்க மொழியின் வெளியீடு

11 மாத வளர்ச்சிக்குப் பிறகு நடைபெற்றது பெர்ல் நிரலாக்க மொழியின் புதிய நிலையான கிளையின் வெளியீடு - 5.30. புதிய வெளியீட்டைத் தயாரிப்பதில், சுமார் 620 ஆயிரம் கோடுகள் மாற்றப்பட்டன, மாற்றங்கள் 1300 கோப்புகளை பாதித்தன, மேலும் 58 டெவலப்பர்கள் வளர்ச்சியில் பங்கேற்றனர்.

கிளை 5.30 ஆறு ஆண்டுகளுக்கு முன்பு அங்கீகரிக்கப்பட்ட நிலையான வளர்ச்சி அட்டவணையின்படி வெளியிடப்பட்டது, இது வருடத்திற்கு ஒரு முறை புதிய நிலையான கிளைகளை வெளியிடுவதையும், ஒவ்வொரு மூன்று மாதங்களுக்கும் சரியான வெளியீடுகளையும் குறிக்கிறது. சுமார் ஒரு மாதத்தில், Perl 5.30.1 இன் முதல் திருத்த வெளியீட்டை வெளியிட திட்டமிடப்பட்டுள்ளது, இது Perl 5.30.0 ஐ செயல்படுத்தும் போது கண்டறியப்பட்ட மிக முக்கியமான பிழைகளை சரிசெய்யும். Perl 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, சி மொழியில் நீட்டிப்புகளின் வளர்ச்சியில் பயன்படுத்தப்படுகிறது;
  • மல்டி-த்ரெட் இயக்கத்தை ஆதரிக்கும் ஒரு லோகேலுடன் செயல்பாடுகளைச் செயல்படுத்துவதன் மூலம் பெர்லை உருவாக்கும் திறனைச் சேர்த்தது (-Accflags='-DUSE_THREAD_SAFE_LOCALE'). முன்னதாக, பெர்லின் பல-திரிக்கப்பட்ட பதிப்பை உருவாக்கும் போது மட்டுமே இத்தகைய செயலாக்கம் பயன்படுத்தப்பட்டது, ஆனால் இப்போது எந்த உருவாக்கத்திற்கும் இயக்க முடியும்;
  • "-Dv" (மேம்படுத்தப்பட்ட பிழைத்திருத்த வெளியீடு) மற்றும் "-Dr" (regex பிழைத்திருத்தம்) கொடிகளை இணைப்பது இப்போது சாத்தியமான அனைத்து வழக்கமான வெளிப்பாடு பிழைத்திருத்த முறைகளையும் இயக்குகிறது;
  • முன்பு நிராகரிக்கப்பட்ட அம்சங்கள் அகற்றப்பட்டன:
    • இப்போது வரி பிரிப்பான் மற்றும் வைல்டு கார்டு எழுத்துக்களாக கிடைக்கிறது அனுமதிக்கப்பட்டது பயன்படுத்த மட்டுமே கிராஃபிம்கள் (கலப்பு யூனிகோட் எழுத்துகள் அனுமதிக்கப்படாது).
    • நிறுத்தப்பட்டது "{" எழுத்துக்குறியைத் தப்பிக்காமல் வழக்கமான வெளிப்பாடுகளில் பயன்படுத்தும் சில நீண்ட கால வழக்கற்றுப் போன வடிவங்களுக்கான ஆதரவு.
    • Запрещено ":utf8" ஹேண்ட்லர்களுடன் sysread(), syswrite(), recv() மற்றும் send() செயல்பாடுகளைப் பயன்படுத்துதல்.
    • "என்" என்பதன் வரையறைகளை உள்ளார்ந்த தவறான நிபந்தனை அறிக்கைகளில் பயன்படுத்துவது தடைசெய்யப்பட்டுள்ளது (எடுத்துக்காட்டாக, "என் $x என்றால் 0").
    • சிறப்பு மாறிகள் “$*” மற்றும் “$#”க்கான ஆதரவு அகற்றப்பட்டது.
      டம்ப்() செயல்பாட்டின் மறைமுக அழைப்புக்கான ஆதரவு நிறுத்தப்பட்டது (நீங்கள் இப்போது வெளிப்படையாக CORE::dump() ஐக் குறிப்பிட வேண்டும்).

    • கோப்பு::Glob::glob செயல்பாடு அகற்றப்பட்டது (நீங்கள் கோப்பு::Glob::bsd_glob ஐப் பயன்படுத்த வேண்டும்).
    • தவறான யூனிகோட் வரிசைகளுக்கு எதிராக பேக்()க்கு பாதுகாப்பு சேர்க்கப்பட்டது.
    • XS குறியீட்டில் (C தொகுதிகள்) UTF-8 உடன் செயல்பாடுகளைச் செய்யும் மேக்ரோக்களின் பயன்பாட்டிற்கான ஆதரவின் முடிவு அடுத்த வெளியீடு வரை ஒத்திவைக்கப்பட்டுள்ளது.
  • செயல்திறன் மேம்படுத்தல்கள்:
    • UTF-8 இலிருந்து எழுத்து அமைப்புக்கான மொழிபெயர்ப்புச் செயல்பாடுகள் துரிதப்படுத்தப்பட்டுள்ளன (குறியீடு புள்ளி), எடுத்துக்காட்டாக, ord(“\x7fff”) செயல்பாட்டைச் செய்வதற்கு இப்போது 12% குறைவான வழிமுறைகள் தேவை. UTF-8 எழுத்து வரிசைகளின் சரியான தன்மையை சரிபார்க்கும் செயல்பாடுகளின் செயல்திறன் அதிகரிக்கப்பட்டுள்ளது;
    • finalize_op() செயல்பாட்டில் உள்ள சுழல்நிலை அழைப்புகள் அகற்றப்பட்டன;
    • ஒரே மாதிரியான எழுத்துகளை சுருக்கவும் மற்றும் வழக்கமான வெளிப்பாடுகளில் எழுத்து வகுப்புகளை வரையறுப்பதற்காகவும் குறியீட்டில் சிறிய மேம்படுத்தல்கள் செய்யப்பட்டன;
    • உகந்ததாக்கப்பட்டது கையொப்பமிடப்பட்ட வகை வரையறைகளை கையொப்பமிடாதவைகளாக மாற்றுதல் (IV க்கு UV);
    • முழு எண்களை சரமாக மாற்றுவதற்கான அல்காரிதம் ஒன்றுக்கு பதிலாக இரண்டு இலக்கங்களை ஒரே நேரத்தில் செயலாக்குவதன் மூலம் துரிதப்படுத்தப்பட்டது;
    • மேம்பாடுகள் செய்யப்பட்டுள்ளன தயார் LGTM மூலம் பகுப்பாய்வு அடிப்படையில்;
    • regcomp.c, regcomp.h மற்றும் regexec.c கோப்புகளில் உகந்த குறியீடு;
    • வழக்கமான வெளிப்பாடுகளில், ASCII எழுத்துகளுடன் “qr/[^a]/” போன்ற வடிவங்களின் செயலாக்கம் கணிசமாக துரிதப்படுத்தப்பட்டுள்ளது.
  • Minix3 இயங்குதளத்திற்கான ஆதரவு மீட்டெடுக்கப்பட்டது. மைக்ரோசாஃப்ட் விஷுவல் ஸ்டுடியோ 2019 கம்பைலரைப் பயன்படுத்தி உருவாக்க முடியும் (விஷுவல் சி++ 14.2);
  • தொகுதிகளின் புதுப்பிக்கப்பட்ட பதிப்புகள் அடிப்படை தொகுப்பில் சேர்க்கப்பட்டுள்ளன. முக்கிய அமைப்பிலிருந்து தொகுதிகள் அகற்றப்பட்டன பி:: பிழைத்திருத்தம் и மொழி:: குறியீடுகள்.

ஆதாரம்: opennet.ru

கருத்தைச் சேர்