Perl 5.36.0 நிரலாக்க மொழி உள்ளது

ஒரு வருட வளர்ச்சிக்குப் பிறகு, பெர்ல் நிரலாக்க மொழியின் புதிய நிலையான கிளை வெளியீடு - 5.36 - வெளியிடப்பட்டது. புதிய வெளியீட்டைத் தயாரிப்பதில், சுமார் 250 ஆயிரம் கோடுகள் மாற்றப்பட்டன, மாற்றங்கள் 2000 கோப்புகளை பாதித்தன, மேலும் 82 டெவலப்பர்கள் வளர்ச்சியில் பங்கேற்றனர்.

ஒன்பது ஆண்டுகளுக்கு முன்பு அங்கீகரிக்கப்பட்ட நிலையான வளர்ச்சி அட்டவணையின்படி கிளை 5.36 வெளியிடப்பட்டது, இது வருடத்திற்கு ஒரு முறை புதிய நிலையான கிளைகளை வெளியிடுவதையும், ஒவ்வொரு மூன்று மாதங்களுக்கும் சரியான வெளியீடுகளையும் குறிக்கிறது. சுமார் ஒரு மாதத்தில், Perl 5.36.1 இன் முதல் திருத்த வெளியீட்டை வெளியிட திட்டமிடப்பட்டுள்ளது, இது Perl 5.36.0 ஐ செயல்படுத்தும் போது கண்டறியப்பட்ட மிக முக்கியமான பிழைகளை சரிசெய்யும். Perl 5.36 வெளியீட்டுடன், 5.32 கிளைக்கான ஆதரவு நிறுத்தப்பட்டது, முக்கியமான பாதுகாப்பு சிக்கல்கள் கண்டறியப்பட்டால் மட்டுமே எதிர்கால மேம்படுத்தல்கள் வெளியிடப்படும். சோதனைக் கிளை 5.37 ஐ உருவாக்கும் செயல்முறையும் தொடங்கியுள்ளது, அதன் அடிப்படையில் பெர்ல் 2023 இன் நிலையான வெளியீடு மே அல்லது ஜூன் 5.38 இல் உருவாக்கப்படும், 7.x என்ற எண்ணுக்கு மாறுவதற்கான முடிவு எடுக்கப்படாவிட்டால்.

முக்கிய மாற்றங்கள்:

  • செயல்பாட்டு கையொப்பங்களுக்கான ஆதரவு நிலைப்படுத்தப்பட்டு, இப்போது "பயன்பாடு v5.36" பிரக்மாவைக் குறிப்பிடும் போது கிடைக்கிறது, இது செயல்பாட்டில் பயன்படுத்தப்படும் மாறிகளின் பட்டியலை வெளிப்படையாக வரையறுக்க உங்களை அனுமதிக்கிறது மற்றும் ஒரு வரிசையில் இருந்து மதிப்புகளை சரிபார்த்து ஒதுக்கும் செயல்பாடுகளை தானியங்குபடுத்துகிறது. உள்வரும் அளவுருக்கள். எடுத்துக்காட்டாக, முன்பு பயன்படுத்தப்பட்ட குறியீடு: sub foo {die "சப்ரூட்டினுக்கான பல வாதங்கள்" @_ >= 2 வரை; @_ <= 2 இல்லாவிடில் "சப்ரூட்டினுக்கான மிகக் குறைவான வாதங்கள்" இறக்கவும்; என்($இடது, $வலது) = @_; திரும்ப $இடது + $வலது; }

    கையொப்பங்களைப் பயன்படுத்தும் போது, ​​​​அதை மாற்றலாம்:

    துணை foo ($இடது, $வலது) {$இடது + $வலது திரும்ப; }

    நீங்கள் இரண்டு வாதங்களுக்கு மேல் foo ஐ அழைத்தால், மொழிபெயர்ப்பாளர் ஒரு பிழையை எறிவார். பட்டியல் "$" என்ற சிறப்பு மாறியை ஆதரிக்கிறது, இது சில வாதங்களைப் புறக்கணிக்க உங்களை அனுமதிக்கிறது, எடுத்துக்காட்டாக, "sub foo ($left, $, $right)" முதல் மற்றும் மூன்றாவது வாதங்களை மட்டும் மாறிகளாக நகலெடுக்க அனுமதிக்கும். , சரியாக மூன்று செயல்பாடு வாதத்திற்கு அனுப்பப்பட வேண்டும்.

    கையொப்ப தொடரியல் விருப்ப வாதங்களைக் குறிப்பிடவும் மற்றும் ஒரு வாதம் விடுபட்டால் இயல்புநிலை மதிப்புகளைக் குறிப்பிடவும் உங்களை அனுமதிக்கிறது. எடுத்துக்காட்டாக, "sub foo ($left, $right = 0)" எனக் குறிப்பிடுவதன் மூலம் இரண்டாவது வாதம் விருப்பமானது மற்றும் அது இல்லாவிட்டால், மதிப்பு 0 அனுப்பப்படும். ஒதுக்கீட்டுச் செயல்பாட்டில், பிற மாறிகளைப் பயன்படுத்துவது உட்பட தன்னிச்சையான வெளிப்பாடுகளைக் குறிப்பிடலாம். பட்டியல் அல்லது உலகளாவிய மாறிகள். மாறிக்கு பதிலாக ஹாஷ் அல்லது அணிவரிசையைக் குறிப்பிடுவது (எடுத்துக்காட்டாக, "சப் ஃபூ ($இடது, @வலது)") ஒன்று அல்லது அதற்கு மேற்பட்ட வாதங்களை அனுப்ப அனுமதிக்கும்.

  • கையொப்பங்களைப் பயன்படுத்தி அறிவிக்கப்பட்ட செயல்பாடுகளில், "@_" வரிசையிலிருந்து விருப்பமான அளவுரு ஒதுக்கீட்டிற்கான ஆதரவு சோதனைக்குரியதாக அறிவிக்கப்பட்டு எச்சரிக்கையை விளைவிக்கும் (புதிய தொடரியல் மூலம் அறிவிக்கப்பட்ட செயல்பாடுகளில் @_ பயன்படுத்தப்பட்டால் மட்டுமே எச்சரிக்கை வழங்கப்படும்). எடுத்துக்காட்டாக, செயல்பாட்டிற்கு ஒரு எச்சரிக்கை காட்டப்படும்: v5.36 ஐப் பயன்படுத்தவும்; துணை f ($x, $y = 123) {"முதல் வாதம் $_[0]"; }
  • "பயன்பாடு v5.36" ப்ராக்மாவைக் குறிப்பிடும்போது நிலைப்படுத்தப்பட்டு கிடைக்கும், ஒரு பொருள் குறிப்பிட்ட வகுப்பின் நிகழ்வா அல்லது அதிலிருந்து பெறப்பட்ட வகுப்பா என்பதைச் சரிபார்க்க "isa" இன்ஃபிக்ஸ் ஆபரேட்டர். எடுத்துக்காட்டாக: if( $obj isa Package::Name ) {…}
  • “பயன்பாடு v5.36” ப்ராக்மாவைக் குறிப்பிடும்போது, ​​எச்சரிக்கை செயலாக்கம் இயக்கப்பட்டது (“எச்சரிக்கைகளைப் பயன்படுத்து” பயன்முறை இயக்கப்பட்டது).
  • “பயன்பாடு v5.36” ப்ராக்மாவைக் குறிப்பிடும்போது, ​​பொருள்களை அழைப்பதற்கான மறைமுகக் குறிப்புக்கான ஆதரவு (“மறைமுக அம்சம்”) முடக்கப்பட்டது - பொருள்களை அழைப்பதற்கான காலாவதியான வழி, இதில் “->” (“முறை $) க்குப் பதிலாக ஒரு இடம் பயன்படுத்தப்படுகிறது. "$object-> $method(@param)" என்பதற்கு பதிலாக பொருள் @பரம்"). எடுத்துக்காட்டாக, “my $cgi = new CGI” என்பதற்குப் பதிலாக “my $cgi = CGI->new” என்பதைப் பயன்படுத்த வேண்டும்.
  • “பயன்பாடு v5.36” ப்ராக்மாவைக் குறிப்பிடும்போது, ​​Perl 4 பாணியில் (“அம்சம் பல பரிமாணங்கள்”) பல பரிமாண வரிசைகள் மற்றும் ஹாஷ்களைப் பின்பற்றுவதற்கான ஆதரவு முடக்கப்பட்டுள்ளது, இது பல விசைகளின் குறிப்பை இடைநிலை வரிசையாக மொழிபெயர்க்க அனுமதிக்கிறது (எடுத்துக்காட்டாக, " $hash{1, 2}”) ஆனது "$hash{join($;, 1, 2)}") ஆக மாற்றப்பட்டது.
  • “பயன்பாடு v5.36” ப்ராக்மாவைக் குறிப்பிடும்போது, ​​ஸ்விட்ச் மற்றும் கேஸ் ஸ்டேட்மென்ட்களைப் போலவே, சோதனை கிளை பொறிமுறைக்கான (“அம்சம் சுவிட்ச்”) ஆதரவு முடக்கப்படும் (பெர்ல் கொடுக்கப்பட்ட மற்றும் எப்போது முக்கிய வார்த்தைகளைப் பயன்படுத்துகிறது). இந்த அம்சத்தைப் பயன்படுத்த, பெர்ல் 5.36 இல் தொடங்கி, 'பயன்படுத்தும் அம்சம் "ஸ்விட்ச்"' என்பதை நீங்கள் வெளிப்படையாகக் குறிப்பிட வேண்டும், மேலும் "பதிப்பைப் பயன்படுத்து" எனக் குறிப்பிட்டால், அது தானாகவே இயக்கப்படாது.
  • வழக்கமான வெளிப்பாடுகளுக்குள் சதுர அடைப்புக்குறிக்குள் கூடுதல் எழுத்து வகுப்புகளுக்கான ஆதரவு நிலைப்படுத்தப்பட்டு இயல்பாகவே கிடைக்கும். குறுக்குவெட்டு, விலக்கு மற்றும் எழுத்துகளின் தொகுப்புக்கான மேம்பட்ட விதிகளைப் பயன்படுத்தி போட்டிகளைச் செய்ய அம்சம் உங்களை அனுமதிக்கிறது. எடுத்துக்காட்டாக, '[AZ - W]' - W ஐத் தவிர்த்து A முதல் Z வரையிலான எழுத்துக்கள்.
  • "(?", "( )", "{ }" மற்றும் "[ ]" செயல்பாடுகளுக்கான ஆதரவு ஓரளவு நிலைப்படுத்தப்பட்டு இயல்பாகவே கிடைக்கும்; நீங்கள் "" "", "" "" போன்ற குறியீடுகளைப் பயன்படுத்தலாம். எடுத்துக்காட்டாக. , "qr"pat "".
  • வாதங்கள் இல்லாமல் வரிசை செயல்பாட்டை அழைப்பது தடைசெய்யப்பட்டுள்ளது, இது இப்போது பிழையை ஏற்படுத்தும். @a = வரிசைப்படுத்து @காலி; # தொடரும் @a = வரிசை; # ஒரு பிழை அச்சிடப்படும் @a = sort(); # பிழை அச்சிடப்படும்
  • ஒரு புதிய கட்டளை வரி கொடி “-g” முன்மொழியப்பட்டது, இது வரிக்கு வரியாக இல்லாமல் முழு கோப்பையும் ஏற்றும் பயன்முறையை செயல்படுத்துகிறது. கொடியின் செயல் "-0777" என்ற குறிப்பைப் போன்றது.
  • யூனிகோட் விவரக்குறிப்புக்கான ஆதரவு பதிப்பு 14.0 க்கு புதுப்பிக்கப்பட்டது.
  • SIGSEGV போன்ற மற்ற அலாரங்களைப் போலவே மிதக்கும் புள்ளி விதிவிலக்குகளை (SIGFPE) உடனடி கையாளுதலை வழங்குகிறது, இது $SIG{FPE} வழியாக உங்கள் சொந்த ஹேண்ட்லர்களை SIGFPE க்காக பிணைக்க அனுமதிக்கிறது, எடுத்துக்காட்டாக சிக்கல் ஏற்பட்ட வரி எண்ணை வெளியிடுகிறது.
  • தொகுதிகளின் புதுப்பிக்கப்பட்ட பதிப்புகள் அடிப்படை தொகுப்பில் சேர்க்கப்பட்டுள்ளன.
  • செயல்திறன் மேம்படுத்தல்கள் சேர்க்கப்பட்டது. பகிரப்பட்ட ஸ்ட்ரிங் டேபிள்களைப் பயன்படுத்தாமல் பெரிய ஹாஷ் விசைகளை மிகவும் திறமையாகச் சேமிக்கும் திறன் வழங்கப்பட்டுள்ளது. புதிய அளவிடல் மதிப்புகளை உருவாக்கும் செயல்திறன் கணிசமாக மேம்படுத்தப்பட்டுள்ளது, உதாரணமாக பின்வரும் குறியீடு இப்போது 30% வேகமாக இயங்குகிறது: $str = "A" x 64; (0..1_000_000) {@svs = பிளவு //, $str }
  • மொழிபெயர்ப்பாளர் குறியீடு C99 தரநிலையில் வரையறுக்கப்பட்ட சில கட்டுமானங்களைப் பயன்படுத்தத் தொடங்கியது. பெர்லை உருவாக்க இப்போது C99 ஐ ஆதரிக்கும் கம்பைலர் தேவைப்படுகிறது. MSVC++ (Pre-VC12) இன் பழைய பதிப்புகளை உருவாக்குவதற்கான ஆதரவு நிறுத்தப்பட்டது. மைக்ரோசாஃப்ட் விஷுவல் ஸ்டுடியோ 2022 (MSVC++ 14.3) இல் உருவாக்க ஆதரவு சேர்க்கப்பட்டது.
  • AT&T UWIN, DOS/DJGPP மற்றும் Novell NetWare இயங்குதளங்களுக்கான ஆதரவு நிறுத்தப்பட்டது.

ஆதாரம்: opennet.ru

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