పెర్ల్ 7 పెర్ల్ 5 యొక్క అభివృద్ధిని వెనుకకు అనుకూలతను విచ్ఛిన్నం చేయకుండా సజావుగా కొనసాగిస్తుంది

పెర్ల్ ప్రాజెక్ట్ గవర్నింగ్ కౌన్సిల్ పెర్ల్ 5 బ్రాంచ్ యొక్క మరింత అభివృద్ధి మరియు పెర్ల్ 7 బ్రాంచ్ యొక్క సృష్టికి సంబంధించిన ప్రణాళికలను వివరించింది. చర్చల సమయంలో, పెర్ల్ 5 కోసం ఇప్పటికే వ్రాసిన కోడ్‌తో అనుకూలతను విచ్ఛిన్నం చేయడం ఆమోదయోగ్యం కాదని పాలక మండలి అంగీకరించింది. బలహీనతలను పరిష్కరించడానికి అనుకూలత అవసరం. భాష అభివృద్ధి చెందాలని మరియు కొత్త లక్షణాలను మరింత తీవ్రంగా ప్రోత్సహించాలని, అభివృద్ధి చెందుతున్న ఆవిష్కరణలను సులభంగా యాక్సెస్ చేయడానికి మరియు స్వీకరించడాన్ని ప్రోత్సహించాలని కౌన్సిల్ తీర్మానించింది.

Perl 7 బ్రాంచ్‌లో డిఫాల్ట్‌గా బ్యాక్‌వర్డ్ కంపాటబిలిటీని విచ్ఛిన్నం చేసే మార్పులను అనుమతించే అసలు ఉద్దేశాలు కాకుండా, ఇప్పటికే ఉన్న కోడ్‌తో బ్యాక్‌వర్డ్ కంపాటబిలిటీని విచ్ఛిన్నం చేయకుండా Perl 5 బ్రాంచ్‌ను క్రమంగా Perl 7లోకి మార్చడం కొత్త ప్రణాళిక. Perl 7.0 విడుదల సంభావితంగా తదుపరి Perl 5.xx బ్రాంచ్ నుండి భిన్నంగా ఉండదు.

Perl 5 యొక్క కొత్త విడుదలల అభివృద్ధి మునుపటిలానే కొనసాగుతుంది - పాత కోడ్‌తో అననుకూలమైన బ్రాంచ్‌కు జోడించబడిన కొత్త ఫీచర్లు మునుపటిలాగా, “వెర్షన్‌ని ఉపయోగించు” లేదా “లక్షణ లక్షణాన్ని ఉపయోగించు” ప్రాగ్మా స్పష్టంగా పేర్కొనబడితే మాత్రమే చేర్చబడతాయి. కోడ్‌లో. ఉదాహరణకు, పెర్ల్ 5.010 "సే" అనే కొత్త కీవర్డ్‌ని పరిచయం చేసింది, అయితే ఇప్పటికే ఉన్న కోడ్ "సే" అనే ఫంక్షన్‌లను ఉపయోగించగలదు కాబట్టి, "యూజ్ ఫీచర్ 'సే'" ప్రాగ్మాను స్పష్టంగా పేర్కొనడం ద్వారా మాత్రమే కొత్త కీవర్డ్‌కు మద్దతు ప్రారంభించబడింది.

భాషకు కొత్త సింటాక్స్ జోడించబడింది, ఇది మునుపటి విడుదలలలో ప్రాసెస్ చేయబడినప్పుడు లోపానికి దారితీసింది, ప్రత్యేక ప్రాగ్మాలను పేర్కొనవలసిన అవసరం లేకుండా వెంటనే అందుబాటులోకి వస్తుంది. ఉదాహరణకు, పెర్ల్ 5.36 బహుళ జాబితా విలువలను ఒకేసారి ప్రాసెస్ చేయడం కోసం సరళీకృత వాక్యనిర్మాణాన్ని పరిచయం చేస్తుంది (“ఫోరీచ్ మై ($కీ, $విలువ) (%hash) {”) అది “ఉపయోగం లేకుండా కోడ్‌లో కూడా వెంటనే అందుబాటులో ఉంటుంది. v5.36” ఆచరణ.

దాని ప్రస్తుత రూపంలో, పెర్ల్ 5.36 5.36 ఇంటర్‌ఆపరేబిలిటీ-బ్రేకింగ్ ఫీచర్‌లను ('సే', 'స్టేట్', 'కరెంట్_సబ్', 'ఎఫ్‌సి', 'లెక్సికల్_సబ్‌లు', 'సిగ్నేచర్‌లు', 'ఇసా' ఎనేబుల్ చేయడానికి "v13 ఉపయోగించండి" ప్రాగ్మాను ఉపయోగిస్తుంది. ', ' bareword_filehandles', 'bitwise', 'evalbytes', 'postderef_qq', 'unicode_eval' మరియు 'unicode_strings'), డిఫాల్ట్‌గా “స్ట్రిక్ట్ ఉపయోగించండి” మరియు “హెచ్చరికలను ఉపయోగించండి” మోడ్‌లను ప్రారంభించండి మరియు దీని కోసం లెగసీ పరోక్ష సంజ్ఞామానం కోసం మద్దతును నిలిపివేయండి కాలింగ్ ఆబ్జెక్ట్‌లు ("->"కి బదులుగా ఖాళీని ఉపయోగించినప్పుడు) మరియు Perl 4 స్టైల్ మల్టీడైమెన్షనల్ శ్రేణులు మరియు హ్యాష్‌లు ("$hash{1, 2}").

తగినంత మార్పులు పేరుకుపోయినప్పుడు, Perl 5.x యొక్క తదుపరి విడుదలకు బదులుగా, Perl 7.0 యొక్క సంస్కరణ రూపొందించబడుతుంది, ఇది ఒక రకమైన స్థితి స్నాప్‌షాట్‌గా మారుతుంది, కానీ Perl 5తో పూర్తిగా వెనుకకు అనుకూలంగా ఉంటుంది. మార్పులు మరియు సెట్టింగ్‌లను ప్రారంభించడానికి అనుకూలతను విచ్ఛిన్నం చేయడానికి, మీరు కోడ్‌కు “v7 ఉపయోగించండి” ప్రాగ్మాను స్పష్టంగా జోడించాలి. . ఆ. "యూజ్ v7" ప్రాగ్మాతో కోడ్‌ని "ఆధునిక పెర్ల్"గా పరిగణించవచ్చు, దీనిలో అనుకూలత-బ్రేకింగ్ భాష మార్పులు అందుబాటులో ఉన్నాయి మరియు లేకుండా - "కన్సర్వేటివ్ పెర్ల్", ఇది గత విడుదలలతో పూర్తిగా వెనుకకు అనుకూలంగా ఉంటుంది.

మూలం: opennet.ru

ఒక వ్యాఖ్యను జోడించండి