पर्ल: Difference between revisions
No edit summary |
No edit summary |
||
Line 41: | Line 41: | ||
पर्ल भाषाएँ C (प्रोग्रामिंग भाषा), [[यूनिक्स खोल]], [[AWK (प्रोग्रामिंग भाषा)]], और [[sed]] सहित अन्य प्रोग्रामिंग भाषाओं से सुविधाएँ उधार लेती हैं;<ref name="perltimeline">{{cite web |url = http://history.perl.org/PerlTimeline.html |title = पर्ल और इसकी संस्कृति की समयरेखा (v3.0_0505)|year = 1999 |author = Ashton, Elaine |access-date = March 12, 2004 |archive-date = January 11, 2013 |archive-url = https://web.archive.org/web/20130111100906/http://history.perl.org/PerlTimeline.html |url-status = live }}</ref> वे यूनिक्स कमांड की कई समकालीन सूची की मनमानी डेटा-लंबाई सीमा के बिना टेक्स्ट प्रोसेसिंग सुविधाएं प्रदान करते हैं।<ref name="programmingperl2">{{cite book |title = प्रोग्रामिंग पर्ल, तीसरा संस्करण|date = July 2000 |publisher = [[O'Reilly Media]] |isbn = 978-0-596-00027-1 |last1=Wall|first1=Larry|author-link1=Larry Wall|last2= Christiansen|first2=Tom|last3=Orwant|first3=Jon}}</ref> पर्ल 5 ने 1990 के दशक के अंत में अपनी शक्तिशाली [[नियमित अभिव्यक्ति]] और [[स्ट्रिंग (कंप्यूटिंग)]] [[पदच्छेद]] क्षमताओं के कारण एक [[कॉमन गेटवे इंटरफ़ेस]] भाषा के रूप में व्यापक लोकप्रियता हासिल की।<ref>{{cite web |url = http://www.catb.org/esr/writings/taoup/html/ch14s04.html#perl |title = भाषा मूल्यांकन|quote = पर्ल का सबसे मजबूत बिंदु पाठ्य, रेखा-उन्मुख डेटा स्वरूपों के पैटर्न-निर्देशित प्रसंस्करण के लिए इसकी अत्यधिक शक्तिशाली अंतर्निहित सुविधाएं हैं; यह इस पर बेजोड़ है।|access-date = January 30, 2015 |archive-date = March 10, 2015 |archive-url = https://web.archive.org/web/20150310123855/http://www.catb.org/esr/writings/taoup/html/ch14s04.html#perl |url-status = live }}</ref><ref>{{cite web |url = http://www.cio.com/article/2437271/developer/you-used-perl-to-write-what--.html |title = क्या लिखने के लिए आपने पर्ल का इस्तेमाल किया?!|date = January 24, 2008 |quote = पर्ल हमेशा किसी भी कार्य के लिए पसंदीदा भाषा रही है जिसमें पैटर्न-मिलान इनपुट शामिल होता है|access-date = February 4, 2015 |archive-date = February 4, 2015 |archive-url = https://web.archive.org/web/20150204175543/http://www.cio.com/article/2437271/developer/you-used-perl-to-write-what--.html |url-status = live }}</ref><ref>{{cite web |url = http://archive.oreilly.com/pub/a/oreilly/perl/news/importance_0498.html |title = पर्ल का महत्व|quote = टेक्स्ट को प्रोसेस करने की पर्ल की अद्वितीय क्षमता...|access-date = February 4, 2015 |archive-url = https://web.archive.org/web/20150202010003/http://archive.oreilly.com/pub/a/oreilly/perl/news/importance_0498.html |archive-date = February 2, 2015 |url-status = dead |df = mdy-all }}</ref><ref name="roderick02">{{cite book |title = उन्नत लिनक्स नेटवर्किंग|url = https://archive.org/details/linux00libg_999 |url-access = limited |date = June 21, 2002 |publisher = Addison-Wesley Professional |isbn = 978-0-201-77423-8 |page = [https://archive.org/details/linux00libg_999/page/n595 594] |last1 = Smith |first1 = Roderick W. }}</ref> | पर्ल भाषाएँ C (प्रोग्रामिंग भाषा), [[यूनिक्स खोल]], [[AWK (प्रोग्रामिंग भाषा)]], और [[sed]] सहित अन्य प्रोग्रामिंग भाषाओं से सुविधाएँ उधार लेती हैं;<ref name="perltimeline">{{cite web |url = http://history.perl.org/PerlTimeline.html |title = पर्ल और इसकी संस्कृति की समयरेखा (v3.0_0505)|year = 1999 |author = Ashton, Elaine |access-date = March 12, 2004 |archive-date = January 11, 2013 |archive-url = https://web.archive.org/web/20130111100906/http://history.perl.org/PerlTimeline.html |url-status = live }}</ref> वे यूनिक्स कमांड की कई समकालीन सूची की मनमानी डेटा-लंबाई सीमा के बिना टेक्स्ट प्रोसेसिंग सुविधाएं प्रदान करते हैं।<ref name="programmingperl2">{{cite book |title = प्रोग्रामिंग पर्ल, तीसरा संस्करण|date = July 2000 |publisher = [[O'Reilly Media]] |isbn = 978-0-596-00027-1 |last1=Wall|first1=Larry|author-link1=Larry Wall|last2= Christiansen|first2=Tom|last3=Orwant|first3=Jon}}</ref> पर्ल 5 ने 1990 के दशक के अंत में अपनी शक्तिशाली [[नियमित अभिव्यक्ति]] और [[स्ट्रिंग (कंप्यूटिंग)]] [[पदच्छेद]] क्षमताओं के कारण एक [[कॉमन गेटवे इंटरफ़ेस]] भाषा के रूप में व्यापक लोकप्रियता हासिल की।<ref>{{cite web |url = http://www.catb.org/esr/writings/taoup/html/ch14s04.html#perl |title = भाषा मूल्यांकन|quote = पर्ल का सबसे मजबूत बिंदु पाठ्य, रेखा-उन्मुख डेटा स्वरूपों के पैटर्न-निर्देशित प्रसंस्करण के लिए इसकी अत्यधिक शक्तिशाली अंतर्निहित सुविधाएं हैं; यह इस पर बेजोड़ है।|access-date = January 30, 2015 |archive-date = March 10, 2015 |archive-url = https://web.archive.org/web/20150310123855/http://www.catb.org/esr/writings/taoup/html/ch14s04.html#perl |url-status = live }}</ref><ref>{{cite web |url = http://www.cio.com/article/2437271/developer/you-used-perl-to-write-what--.html |title = क्या लिखने के लिए आपने पर्ल का इस्तेमाल किया?!|date = January 24, 2008 |quote = पर्ल हमेशा किसी भी कार्य के लिए पसंदीदा भाषा रही है जिसमें पैटर्न-मिलान इनपुट शामिल होता है|access-date = February 4, 2015 |archive-date = February 4, 2015 |archive-url = https://web.archive.org/web/20150204175543/http://www.cio.com/article/2437271/developer/you-used-perl-to-write-what--.html |url-status = live }}</ref><ref>{{cite web |url = http://archive.oreilly.com/pub/a/oreilly/perl/news/importance_0498.html |title = पर्ल का महत्व|quote = टेक्स्ट को प्रोसेस करने की पर्ल की अद्वितीय क्षमता...|access-date = February 4, 2015 |archive-url = https://web.archive.org/web/20150202010003/http://archive.oreilly.com/pub/a/oreilly/perl/news/importance_0498.html |archive-date = February 2, 2015 |url-status = dead |df = mdy-all }}</ref><ref name="roderick02">{{cite book |title = उन्नत लिनक्स नेटवर्किंग|url = https://archive.org/details/linux00libg_999 |url-access = limited |date = June 21, 2002 |publisher = Addison-Wesley Professional |isbn = 978-0-201-77423-8 |page = [https://archive.org/details/linux00libg_999/page/n595 594] |last1 = Smith |first1 = Roderick W. }}</ref> | ||
CGI के | CGI के अतिरिक्त, Perl 5 का उपयोग [[कार्यकारी प्रबंधक]], [[कंप्यूटर नेटवर्क प्रोग्रामिंग]], वित्त, जैव सूचना विज्ञान और अन्य अनुप्रयोगों जैसे [[ग्राफिकल यूज़र इंटरफ़ेस]] के लिए किया जाता है। इसे स्विस आर्मी चेनसॉ का उपनाम दिया गया है <!-- Note to editors. This should read *chainsaw*, not knife. Check the ref -->स्क्रिप्टिंग भाषाओं के लचीलेपन और शक्ति के कारण,<ref>{{cite web |url = http://www.perl.com/pub/a/2000/10/begperl1.html |title = शुरुआती लोगों के लिए पर्ल का परिचय|last = Sheppard |first = Doug |date = 2000-10-16 |publisher = [[O'Reilly Media]] |access-date = 2008-07-27 |archive-date = June 4, 2008 |archive-url = https://web.archive.org/web/20080604140740/http://www.perl.com/pub/a/2000/10/begperl1.html |url-status = live }}</ref> और वह भी जिसे कुछ लोग कुरूपता मानते हैं<ref>{{cite web |url = http://www.catb.org/jargon/html/S/Swiss-Army-chainsaw.html |title = स्विस आर्मी चेनसॉ|last = Raymond |first = Eric |date = 2003-12-23 |work = The Jargon File |access-date = 2014-11-29 |archive-date = August 14, 2018 |archive-url = https://web.archive.org/web/20180814171034/http://www.catb.org/jargon/html/S/Swiss-Army-chainsaw.html |url-status = live }}</ref> कई अन्य भाषाओं की तुलना में इसके अधिक विशेष वर्णों के उपयोग के कारण। 1998 में, इसे [[डक्ट टेप]] के रूप में भी संदर्भित किया गया था जो [[इंटरनेट]] को एक साथ रखता है, एक [[गोंद भाषा]] के रूप में इसके सर्वव्यापी उपयोग और इसकी कथित अयोग्यता दोनों के संदर्भ में।<ref name="leonard98">{{cite news |url = http://www.salon.com/1998/10/13/feature_269/ |title = पर्ल की खुशी|last = Leonard |first = Andrew |work = [[Salon.com]] |access-date = 2012-06-05 |archive-date = July 6, 2012 |archive-url = https://web.archive.org/web/20120706094345/http://www.salon.com/1998/10/13/feature_269/ |url-status = live }}</ref> | ||
पर्ल एक अत्यधिक [[अभिव्यंजक शक्ति (कंप्यूटर विज्ञान)]] प्रोग्रामिंग भाषा है: किसी दिए गए एल्गोरिथ्म के लिए स्रोत कोड छोटा और अत्यधिक संकुचित हो सकता है।<ref>{{Cite web|title=प्रोग्राम कैसे मापे जाते हैं {{!}} कंप्यूटर भाषा बेंचमार्क गेम|url=https://benchmarksgame-team.pages.debian.net/benchmarksgame/how-programs-are-measured.html#source-code|access-date=2020-10-05|website=benchmarksgame-team.pages.debian.net|archive-date=July 12, 2020|archive-url=https://web.archive.org/web/20200712000728/https://benchmarksgame-team.pages.debian.net/benchmarksgame/how-programs-are-measured.html#source-code|url-status=live}}</ref><ref>{{Cite web|title=पर्ल की 3 पंक्तियों में RSA - Everything2.com|url=https://everything2.com/title/RSA+in+3+lines+of+perl|access-date=2020-10-05|website=everything2.com|archive-date=October 8, 2020|archive-url=https://web.archive.org/web/20201008120935/https://everything2.com/title/RSA+in+3+lines+of+perl|url-status=live}}</ref> | पर्ल एक अत्यधिक [[अभिव्यंजक शक्ति (कंप्यूटर विज्ञान)]] प्रोग्रामिंग भाषा है: किसी दिए गए एल्गोरिथ्म के लिए स्रोत कोड छोटा और अत्यधिक संकुचित हो सकता है।<ref>{{Cite web|title=प्रोग्राम कैसे मापे जाते हैं {{!}} कंप्यूटर भाषा बेंचमार्क गेम|url=https://benchmarksgame-team.pages.debian.net/benchmarksgame/how-programs-are-measured.html#source-code|access-date=2020-10-05|website=benchmarksgame-team.pages.debian.net|archive-date=July 12, 2020|archive-url=https://web.archive.org/web/20200712000728/https://benchmarksgame-team.pages.debian.net/benchmarksgame/how-programs-are-measured.html#source-code|url-status=live}}</ref><ref>{{Cite web|title=पर्ल की 3 पंक्तियों में RSA - Everything2.com|url=https://everything2.com/title/RSA+in+3+lines+of+perl|access-date=2020-10-05|website=everything2.com|archive-date=October 8, 2020|archive-url=https://web.archive.org/web/20201008120935/https://everything2.com/title/RSA+in+3+lines+of+perl|url-status=live}}</ref> | ||
Line 47: | Line 47: | ||
== नाम == | == नाम == | ||
पर्ल को मूल रूप से "पर्ल" नाम दिया गया था। वॉल सकारात्मक अर्थों के साथ भाषा को एक छोटा नाम देना चाहते थे। वॉल ने पर्ल की आधिकारिक प्रदर्शन से पहले मौजूदा पर्ल (प्रोग्रामिंग भाषा) प्रोग्रामिंग भाषा की खोज की और नाम की वर्तनी बदल दी।<ref name="richardson1999">{{cite journal|last=Richardson|first=Marjorie|date=1999-05-01|title=लैरी वॉल, पर्ल के गुरु|url=http://www.linuxjournal.com/article/3394|url-status=live|journal=[[Linux Journal]]|archive-url=https://web.archive.org/web/20130720013904/http://www.linuxjournal.com/article/3394|archive-date=July 20, 2013|access-date=2011-01-03}}</ref> | पर्ल को मूल रूप से "पर्ल" नाम दिया गया था। वॉल सकारात्मक अर्थों के साथ भाषा को एक छोटा नाम देना चाहते थे। वॉल ने पर्ल की आधिकारिक प्रदर्शन से पहले मौजूदा पर्ल (प्रोग्रामिंग भाषा) प्रोग्रामिंग भाषा की खोज की और नाम की वर्तनी बदल दी।<ref name="richardson1999">{{cite journal|last=Richardson|first=Marjorie|date=1999-05-01|title=लैरी वॉल, पर्ल के गुरु|url=http://www.linuxjournal.com/article/3394|url-status=live|journal=[[Linux Journal]]|archive-url=https://web.archive.org/web/20130720013904/http://www.linuxjournal.com/article/3394|archive-date=July 20, 2013|access-date=2011-01-03}}</ref> | ||
भाषा का जिक्र करते समय, नाम पूंजीकृत होता है: पर्ल। प्रोग्राम का संदर्भ देते समय, नाम अनकैपिटलाइज्ड (पर्ल) होता है क्योंकि अधिकांश यूनिक्स-जैसी फाइल सिस्टम केस-संवेदी होते हैं। [[प्रोग्रामिंग पर्ल]] के पहले संस्करण के जारी होने से पहले, भाषा को पर्ल के रूप में संदर्भित करना आम बात | भाषा का जिक्र करते समय, नाम पूंजीकृत होता है: पर्ल। प्रोग्राम का संदर्भ देते समय, नाम अनकैपिटलाइज्ड (पर्ल) होता है क्योंकि अधिकांश यूनिक्स-जैसी फाइल सिस्टम केस-संवेदी होते हैं। [[प्रोग्रामिंग पर्ल]] के पहले संस्करण के जारी होने से पहले, भाषा को पर्ल के रूप में संदर्भित करना आम बात थी।चूंकि, Randal L. Schwartz ने पुस्तक में भाषा के नाम को कैपिटलाइज़ किया ताकि टाइपसेट करते समय इसे बेहतर तरीके से प्रदर्शित किया जा सके। इस स्थिति के भेद को बाद में विहित के रूप में प्रलेखित किया गया था।<ref name="capitalization">{{cite web|title=perlfaq1: "पर्ल" और "पर्ल" में क्या अंतर है?|url=http://perldoc.perl.org/perlfaq1.html#What's-the-difference-between-%22perl%22-and-%22Perl%22%3f|url-status=live|archive-url=https://web.archive.org/web/20130530011215/http://perldoc.perl.org/perlfaq1.html#What%27s-the-difference-between-%22perl%22-and-%22Perl%22%3f|archive-date=May 30, 2013|access-date=June 4, 2007|work=perldoc.perl.org - Perl 5 version 12.2 documentation}}</ref> | ||
नाम को कभी-कभी संक्षिप्त नाम के रूप में विस्तारित किया जाता है: प्रैक्टिकल एक्सट्रैक्शन और रिपोर्ट | नाम को कभी-कभी संक्षिप्त नाम के रूप में विस्तारित किया जाता है: प्रैक्टिकल एक्सट्रैक्शन और रिपोर्ट भाषा<ref>{{cite book|last1=Schwartz|first1=Randal|url=https://archive.org/details/learningperl00schw_278|title=लर्निंग पर्ल|last2=foy|first2=brian|last3=Phoenix|first3=Tom|date=June 16, 2011|publisher=O'Reilly Media, Inc.|isbn=978-1449313142|page=[https://archive.org/details/learningperl00schw_278/page/n27 4]|quote=पर्ल को कभी-कभी "व्यावहारिक निष्कर्षण और रिपोर्ट भाषा" कहा जाता है, हालांकि इसे अन्य विस्तारों के बीच "पैथोलॉजिकली इक्लेक्टिक बकवास लिस्टर" भी कहा जाता है। यह वास्तव में एक संक्षिप्त नाम है, एक संक्षिप्त नाम नहीं है, क्योंकि लैरी वॉल, पर्ल के निर्माता, पहले नाम और बाद में विस्तार के साथ आए थे। इसलिए "पर्ल" बड़े अक्षरों में नहीं है। इस बात पर बहस करने का कोई मतलब नहीं है कि विस्तार सही है: लैरी दोनों का समर्थन करता है।|author-link1=Randal Schwartz|author-link2=brian d foy|url-access=limited}}</ref> और वॉल्स ओन पैथोलॉजिकली इक्लेक्टिक रबिश लिस्टर जो पर्ल के [[मैन पेज]] में है।<ref>{{cite web|last=Wall|first=Larry|author-link=Larry Wall|title=पर्ल - पर्ल भाषा दुभाषिया|url=http://perldoc.perl.org/perl.html#BUGS|url-status=live|archive-url=https://web.archive.org/web/20130701050810/http://perldoc.perl.org/perl.html#BUGS|archive-date=July 1, 2013|access-date=2011-01-26|work=Perl 5 version 12.2 documentation}}</ref> | ||
Line 61: | Line 61: | ||
=== अर्ली पर्ल 5 === | === अर्ली पर्ल 5 === | ||
{{Main| | {{Main|पर्ल 5 संस्करण इतिहास}} | ||
पर्ल 4 [[रखरखाव रिलीज]] की एक श्रृंखला के माध्यम से चला गया, 1993 में पर्ल 4.036 में समाप्त हुआ, जिसके बाद वॉल ने पर्ल 5 पर काम शुरू करने के लिए पर्ल 4 को छोड़ दिया। पर्ल 5 का प्रारंभिक डिजाइन 1994 में जारी रहा। पर्ल 5 को अलग-अलग प्लेटफॉर्म पर पोर्ट करने के काम को समन्वित करें। यह पर्ल 5 के विकास, रखरखाव और पोर्टिंग के लिए प्राथमिक मंच बना हुआ है।<ref>{{Cite web | url=http://www.nntp.perl.org/group/perl.perl5.porters/ | title=perl.perl5.porters संग्रह| access-date=2011-01-13 | publisher=perl.org | archive-date=May 1, 2011 | archive-url=https://web.archive.org/web/20110501081803/http://www.nntp.perl.org/group/perl.perl5.porters/ | url-status=live }}</ref> | पर्ल 4 [[रखरखाव रिलीज]] की एक श्रृंखला के माध्यम से चला गया, 1993 में पर्ल 4.036 में समाप्त हुआ, जिसके बाद वॉल ने पर्ल 5 पर काम शुरू करने के लिए पर्ल 4 को छोड़ दिया। पर्ल 5 का प्रारंभिक डिजाइन 1994 में जारी रहा। पर्ल 5 को अलग-अलग प्लेटफॉर्म पर पोर्ट करने के काम को समन्वित करें। यह पर्ल 5 के विकास, रखरखाव और पोर्टिंग के लिए प्राथमिक मंच बना हुआ है।<ref>{{Cite web | url=http://www.nntp.perl.org/group/perl.perl5.porters/ | title=perl.perl5.porters संग्रह| access-date=2011-01-13 | publisher=perl.org | archive-date=May 1, 2011 | archive-url=https://web.archive.org/web/20110501081803/http://www.nntp.perl.org/group/perl.perl5.porters/ | url-status=live }}</ref> | ||
पर्ल 5.000 को 17 अक्टूबर 1994 को जारी किया गया था।<ref name="perlhist">{{Cite web | url=http://perldoc.perl.org/perlhist.html | title=पर्लहिस्ट — पर्ल इतिहास रिकॉर्ड| access-date=2011-01-21 | work=Perl 5 version 12.2 documentation | publisher=perldoc.perl.org | archive-date=January 13, 2011 | archive-url=https://web.archive.org/web/20110113030100/http://perldoc.perl.org/perlhist.html | url-status=live }}</ref> यह दुभाषिया (कंप्यूटिंग) का लगभग पूर्ण पुनर्लेखन था, और इसने ऑब्जेक्ट (कंप्यूटर विज्ञान), [[संदर्भ (कंप्यूटर विज्ञान)]], [[स्थानीय चर]] | लेक्सिकल (मेरा) चर, और [[मॉड्यूलर प्रोग्रामिंग]] सहित भाषा में कई नई सुविधाएँ जोड़ीं। महत्वपूर्ण रूप से, मॉड्यूल ने दुभाषिया को संशोधित किए बिना भाषा को विस्तारित करने के लिए एक तंत्र प्रदान किया। इसने कोर दुभाषिया को स्थिर करने की अनुमति दी, भले ही इसने साधारण पर्ल प्रोग्रामर को नई भाषा सुविधाओं को जोड़ने में सक्षम बनाया। पर्ल 5 तब से सक्रिय विकास में है। | पर्ल 5.000 को 17 अक्टूबर 1994 को जारी किया गया था।<ref name="perlhist">{{Cite web | url=http://perldoc.perl.org/perlhist.html | title=पर्लहिस्ट — पर्ल इतिहास रिकॉर्ड| access-date=2011-01-21 | work=Perl 5 version 12.2 documentation | publisher=perldoc.perl.org | archive-date=January 13, 2011 | archive-url=https://web.archive.org/web/20110113030100/http://perldoc.perl.org/perlhist.html | url-status=live }}</ref> यह दुभाषिया (कंप्यूटिंग) का लगभग पूर्ण पुनर्लेखन था, और इसने ऑब्जेक्ट (कंप्यूटर विज्ञान), [[संदर्भ (कंप्यूटर विज्ञान)]], [[स्थानीय चर]] | लेक्सिकल (मेरा) चर, और [[मॉड्यूलर प्रोग्रामिंग]] सहित भाषा में कई नई सुविधाएँ जोड़ीं। महत्वपूर्ण रूप से, मॉड्यूल ने दुभाषिया को संशोधित किए बिना भाषा को विस्तारित करने के लिए एक तंत्र प्रदान किया। इसने कोर दुभाषिया को स्थिर करने की अनुमति दी, भले ही इसने साधारण पर्ल प्रोग्रामर को नई भाषा सुविधाओं को जोड़ने में सक्षम बनाया। पर्ल 5 तब से सक्रिय विकास में है। | ||
Line 67: | Line 67: | ||
पर्ल 5.001 को 13 मार्च, 1995 को जारी किया गया था। पर्ल 5.002 को 29 फरवरी, 1996 को नए प्रोटोटाइप फीचर के साथ जारी किया गया था। इसने मॉड्यूल लेखकों को [[सबरूटीन]]्स बनाने की अनुमति दी जो पर्ल [[शेल निर्मित]] की तरह व्यवहार करते थे। पर्ल 5.003 को सुरक्षा रिलीज़ के रूप में 25 जून 1996 को रिलीज़ किया गया था।<ref>{{Cite web |title=पर्ल {{!}} परिभाषा, इतिहास और तथ्य {{!}} ब्रिटानिका|url=https://www.britannica.com/technology/Perl |access-date=2022-06-15 |website=www.britannica.com |language=en}}</ref> | पर्ल 5.001 को 13 मार्च, 1995 को जारी किया गया था। पर्ल 5.002 को 29 फरवरी, 1996 को नए प्रोटोटाइप फीचर के साथ जारी किया गया था। इसने मॉड्यूल लेखकों को [[सबरूटीन]]्स बनाने की अनुमति दी जो पर्ल [[शेल निर्मित]] की तरह व्यवहार करते थे। पर्ल 5.003 को सुरक्षा रिलीज़ के रूप में 25 जून 1996 को रिलीज़ किया गया था।<ref>{{Cite web |title=पर्ल {{!}} परिभाषा, इतिहास और तथ्य {{!}} ब्रिटानिका|url=https://www.britannica.com/technology/Perl |access-date=2022-06-15 |website=www.britannica.com |language=en}}</ref> | ||
पर्ल 5 इतिहास की सबसे महत्वपूर्ण घटनाओं में से एक भाषा के बाहर घटित हुई और यह इसके मॉड्यूल समर्थन का परिणाम था। 26 अक्टूबर 1995 को, [[CPAN]] (CPAN) को पर्ल भाषा और [[पर्ल मॉड्यूल]] के लिए एक [[सॉफ्टवेयर रिपॉजिटरी]] के रूप में स्थापित किया गया था; मई 2017 तक, इसमें 35,190 वितरणों में 185,178 से अधिक मॉड्यूल हैं, जो 13,071 से अधिक लेखकों द्वारा लिखे गए हैं, और दुनिया भर में 245 से अधिक स्थानों पर नजर आते हैं।<ref>{{Cite web | url=https://www.cpan.org/ | title=सीपीएएन| access-date=2017-05-08 | publisher=[[CPAN]] | archive-date=October 3, 2019 | archive-url=https://web.archive.org/web/20191003040107/https://www.cpan.org/ | url-status=live }}</ref> | पर्ल 5 इतिहास की सबसे महत्वपूर्ण घटनाओं में से एक भाषा के बाहर घटित हुई और यह इसके मॉड्यूल समर्थन का परिणाम था। 26 अक्टूबर 1995 को, [[CPAN]] (CPAN) को पर्ल भाषा और [[पर्ल मॉड्यूल]] के लिए एक [[सॉफ्टवेयर रिपॉजिटरी]] के रूप में स्थापित किया गया था; मई 2017 तक, इसमें 35,190 वितरणों में 185,178 से अधिक मॉड्यूल हैं, जो 13,071 से अधिक लेखकों द्वारा लिखे गए हैं, और दुनिया भर में 245 से अधिक स्थानों पर नजर आते हैं।<ref>{{Cite web | url=https://www.cpan.org/ | title=सीपीएएन| access-date=2017-05-08 | publisher=[[CPAN]] | archive-date=October 3, 2019 | archive-url=https://web.archive.org/web/20191003040107/https://www.cpan.org/ | url-status=live }}</ref> | ||
पर्ल 5.004 को 15 मई, 1997 को जारी किया गया था, और इसमें अन्य बातों के अलावा, यूनिवर्सल पैकेज | पर्ल 5.004 को 15 मई, 1997 को जारी किया गया था, और इसमें अन्य बातों के अलावा, यूनिवर्सल पैकेज सम्मिलितथा, जिसमें पर्ल को एक आधार वस्तु दी गई थी जिससे सभी [[वर्ग (कंप्यूटर प्रोग्रामिंग)]] स्वचालित रूप से प्राप्त हुए थे और मॉड्यूल के संस्करणों की आवश्यकता की क्षमता थी। एक अन्य महत्वपूर्ण विकास CGI.pm मॉड्यूल का समावेश था,<ref name="5004delta">{{Cite web | url=http://perldoc.perl.org/perl5004delta.html | title=perl5004delta — perl5.004 के लिए नया क्या है| access-date=2011-01-08 | work=Perl 5 version 12.2 documentation | publisher=perldoc.perl.org | archive-date=February 27, 2011 | archive-url=https://web.archive.org/web/20110227200616/http://perldoc.perl.org/perl5004delta.html | url-status=live }}</ref> जिसने कॉमन गेटवे इंटरफेस के रूप में पर्ल की लोकप्रियता में योगदान दिया।<ref name="patwardhan02">{{Cite book | last1=Patwardhan | first1=Nathan | last2=Siever | first2=Ellen | last3=Spainhour | first3=Stephen | title=संक्षेप में पर्ल, दूसरा संस्करण| publisher=[[O'Reilly Media]] | year=2002 | isbn=978-0-596-00241-1 | url=https://archive.org/details/perlinnutshell00patw }}</ref> | ||
पर्ल 5.004 ने [[माइक्रोसॉफ़्ट विंडोज़]], बेल लैब्स, [[क्यूएनएक्स]] और एमिगाओएस से प्लान 9 के लिए समर्थन जोड़ा।<ref name="5004delta" /> | पर्ल 5.004 ने [[माइक्रोसॉफ़्ट विंडोज़]], बेल लैब्स, [[क्यूएनएक्स]] और एमिगाओएस से प्लान 9 के लिए समर्थन जोड़ा।<ref name="5004delta" /> | ||
पर्ल 5.005 को 22 जुलाई 1998 को जारी किया गया था। इस रिलीज में रेगुलर एक्सप्रेशन इंजन में कई सुधार, बैकएंड में नए हुक | पर्ल 5.005 को 22 जुलाई 1998 को जारी किया गया था। इस रिलीज में रेगुलर एक्सप्रेशन इंजन में कई सुधार, बैकएंड में नए हुक सम्मिलित थे। <code>B::*</code> मॉड्यूल, द <code>qr//</code> रेगेक्स उद्धरण ऑपरेटर, अन्य नए कोर मॉड्यूल का एक बड़ा चयन, और [[BeOS]] समेत कई और ऑपरेटिंग सिस्टम के लिए अतिरिक्त समर्थन।<ref name="5005delta">{{Cite web | url=http://perldoc.perl.org/perl5005delta.html | title=perl5005delta - perl5.005 के लिए नया क्या है| access-date=2011-01-21 | work=Perl 5 version 12.2 documentation | publisher=perldoc.perl.org | archive-date=February 3, 2011 | archive-url=https://web.archive.org/web/20110203100249/http://perldoc.perl.org/perl5005delta.html | url-status=live }}</ref> | ||
Line 141: | Line 141: | ||
| colspan="99" | <small>{{Version|lv|show=011111|}}</छोटा> | | colspan="99" | <small>{{Version|lv|show=011111|}}</छोटा> | ||
|} | |} | ||
पर्ल 5.6 को 22 मार्च, 2000 को जारी किया गया था। प्रमुख परिवर्तनों में [[64-बिट कंप्यूटिंग]]|64-बिट समर्थन, [[यूनिकोड]] स्ट्रिंग प्रतिनिधित्व, 2 GiB से अधिक फ़ाइलों के लिए समर्थन और हमारा कीवर्ड | पर्ल 5.6 को 22 मार्च, 2000 को जारी किया गया था। प्रमुख परिवर्तनों में [[64-बिट कंप्यूटिंग]]|64-बिट समर्थन, [[यूनिकोड]] स्ट्रिंग प्रतिनिधित्व, 2 GiB से अधिक फ़ाइलों के लिए समर्थन और हमारा कीवर्ड सम्मिलित हैं।<ref name="56delta">{{cite web |url = http://perldoc.perl.org/perl56delta.html |title = perl56delta - पर्ल v5.6.0 के लिए नया क्या है|access-date = 2011-01-21 |work = Perl 5 version 12.2 documentation |publisher = perldoc.perl.org |archive-date = February 2, 2011 |archive-url = https://web.archive.org/web/20110202135358/http://perldoc.perl.org/perl56delta.html |url-status = live }}</ref><ref name="561delta">{{cite web |url = http://perldoc.perl.org/perl561delta.html |title = perl56delta - पर्ल v5.6.x के लिए नया क्या है|access-date = 2011-01-21 |work = Perl 5 version 12.2 documentation |publisher = perldoc.perl.org |archive-date = November 18, 2010 |archive-url = https://web.archive.org/web/20101118101544/http://perldoc.perl.org/perl561delta.html |url-status = live }}</ref> पर्ल 5.6 को विकसित करते समय, [[सॉफ्टवेयर वर्जनिंग]] स्कीम को अन्य ओपन सोर्स प्रोजेक्ट्स के समान एक में बदलने का निर्णय लिया गया था; 5.005_63 के बाद, अगला संस्करण 5.5.640 बन गया, विकास संस्करणों की योजनाओं के लिए विषम संख्याएँ और स्थिर संस्करण सम संख्याएँ हैं।<ref>{{Cite web |title=पर्ल {{!}} परिभाषा, इतिहास और तथ्य {{!}} ब्रिटानिका|url=https://www.britannica.com/technology/Perl |access-date=2022-06-15 |website=www.britannica.com |language=en}}</ref> | ||
2000 में, वाल ने समुदाय से पर्ल के एक नए संस्करण के लिए सुझावों का आह्वान किया। इस प्रक्रिया के परिणामस्वरूप 361 RFC (टिप्पणियों के लिए अनुरोध) दस्तावेज़ तैयार हुए जिनका उपयोग पर्ल 6 के विकास में मार्गदर्शन के लिए किया जाना था। 2001 में,<ref>{{cite web |url = http://dev.perl.org/perl6/doc/design/apo/A01.html |title = सर्वनाश 1: द अग्ली, द बैड एंड द गुड|access-date = 2011-01-08 |last = Wall |first = Larry |archive-date = November 23, 2010 |archive-url = https://web.archive.org/web/20101123182201/http://dev.perl.org/perl6/doc/design/apo/A01.html |url-status = live }}</ref> पर्ल 6 के लिए सर्वनाश पर काम शुरू हुआ, दस्तावेजों की एक श्रृंखला जो परिवर्तन अनुरोधों को सारांशित करने और पर्ल की अगली पीढ़ी के डिजाइन को प्रस्तुत करने के लिए थी। उन्हें औपचारिक दस्तावेज़ के | 2000 में, वाल ने समुदाय से पर्ल के एक नए संस्करण के लिए सुझावों का आह्वान किया। इस प्रक्रिया के परिणामस्वरूप 361 RFC (टिप्पणियों के लिए अनुरोध) दस्तावेज़ तैयार हुए जिनका उपयोग पर्ल 6 के विकास में मार्गदर्शन के लिए किया जाना था। 2001 में,<ref>{{cite web |url = http://dev.perl.org/perl6/doc/design/apo/A01.html |title = सर्वनाश 1: द अग्ली, द बैड एंड द गुड|access-date = 2011-01-08 |last = Wall |first = Larry |archive-date = November 23, 2010 |archive-url = https://web.archive.org/web/20101123182201/http://dev.perl.org/perl6/doc/design/apo/A01.html |url-status = live }}</ref> पर्ल 6 के लिए सर्वनाश पर काम शुरू हुआ, दस्तावेजों की एक श्रृंखला जो परिवर्तन अनुरोधों को सारांशित करने और पर्ल की अगली पीढ़ी के डिजाइन को प्रस्तुत करने के लिए थी। उन्हें औपचारिक दस्तावेज़ के अतिरिक्त RFC के डाइजेस्ट के रूप में प्रस्तुत किया गया था। इस बिंदु पर, पर्ल 6 केवल एक भाषा के विवरण के रूप में अस्तित्व में था।{{cn|date=December 2020}} | ||
पर्ल 5.8 पहली बार 18 जुलाई, 2002 को जारी किया गया था, और तब से लगभग वार्षिक अद्यतन किया गया था। पर्ल 5.8 ने यूनिकोड समर्थन में सुधार किया, एक नया I/O कार्यान्वयन जोड़ा, एक नया थ्रेड कार्यान्वयन जोड़ा, संख्यात्मक सटीकता में सुधार किया, और कई नए मॉड्यूल जोड़े।<ref name="perl58delta">{{cite web |url = http://perldoc.perl.org/perl58delta.html |title = perl58delta - पर्ल v5.8.0 के लिए नया क्या है|access-date = 2011-01-21 |work = Perl 5 version 12.2 documentation |publisher = perldoc.perl.org |archive-date = November 21, 2010 |archive-url = https://web.archive.org/web/20101121023149/http://perldoc.perl.org/perl58delta.html |url-status = live }}</ref> 2013 तक यह संस्करण अभी भी पर्ल का सबसे लोकप्रिय संस्करण बना हुआ है और इसका उपयोग Red Hat 5, Suse 10, Solaris 10, HP-UX 11.31 और AIX 5 द्वारा किया जाता है। | पर्ल 5.8 पहली बार 18 जुलाई, 2002 को जारी किया गया था, और तब से लगभग वार्षिक अद्यतन किया गया था। पर्ल 5.8 ने यूनिकोड समर्थन में सुधार किया, एक नया I/O कार्यान्वयन जोड़ा, एक नया थ्रेड कार्यान्वयन जोड़ा, संख्यात्मक सटीकता में सुधार किया, और कई नए मॉड्यूल जोड़े।<ref name="perl58delta">{{cite web |url = http://perldoc.perl.org/perl58delta.html |title = perl58delta - पर्ल v5.8.0 के लिए नया क्या है|access-date = 2011-01-21 |work = Perl 5 version 12.2 documentation |publisher = perldoc.perl.org |archive-date = November 21, 2010 |archive-url = https://web.archive.org/web/20101121023149/http://perldoc.perl.org/perl58delta.html |url-status = live }}</ref> 2013 तक यह संस्करण अभी भी पर्ल का सबसे लोकप्रिय संस्करण बना हुआ है और इसका उपयोग Red Hat 5, Suse 10, Solaris 10, HP-UX 11.31 और AIX 5 द्वारा किया जाता है। | ||
2004 में, सारांश पर काम शुरू हुआ{{snd}}दस्तावेज़ जो मूल रूप से सर्वनाश को सारांशित करते थे, लेकिन जो पर्ल 6 भाषा के लिए विनिर्देश बन गए। फरवरी 2005 में, [[ऑड्रे टैंग]] ने [[पग (प्रोग्रामिंग)]] पर काम करना शुरू किया, [[हास्केल (प्रोग्रामिंग भाषा)]] में लिखा गया एक पर्ल 6 दुभाषिया।<ref>{{cite web |url = http://www.perl.com/pub/a/2005/03/03/pugs_interview.html |title = पग के लिए एक योजना|date = 2005-03-03 |publisher = [[O'Reilly Media]] |access-date = 2011-01-27 |archive-date = September 8, 2012 |archive-url = https://archive.today/20120908200150/http://www.perl.com/pub/2005/03/03/pugs_interview.html |url-status = live }}</ref> पर्ल 6 को वास्तविकता बनाने की दिशा में यह पहला ठोस प्रयास था। यह प्रयास 2006 में ठप हो गया।<ref>{{cite web |url = http://www.perlmonks.org/?node_id=835936 |title = पुन: दस वर्षों में पर्ल 6 को कैसे लागू करें|access-date = 2011-01-03 |last = Tang |first = Audrey |date = 2010-04-21 |publisher = [[PerlMonks]] |archive-date = May 11, 2011 |archive-url = https://web.archive.org/web/20110511190417/http://www.perlmonks.org/?node_id=835936 |url-status = live }}</ref> | 2004 में, सारांश पर काम शुरू हुआ{{snd}}दस्तावेज़ जो मूल रूप से सर्वनाश को सारांशित करते थे, लेकिन जो पर्ल 6 भाषा के लिए विनिर्देश बन गए। फरवरी 2005 में, [[ऑड्रे टैंग]] ने [[पग (प्रोग्रामिंग)]] पर काम करना शुरू किया, [[हास्केल (प्रोग्रामिंग भाषा)]] में लिखा गया एक पर्ल 6 दुभाषिया।<ref>{{cite web |url = http://www.perl.com/pub/a/2005/03/03/pugs_interview.html |title = पग के लिए एक योजना|date = 2005-03-03 |publisher = [[O'Reilly Media]] |access-date = 2011-01-27 |archive-date = September 8, 2012 |archive-url = https://archive.today/20120908200150/http://www.perl.com/pub/2005/03/03/pugs_interview.html |url-status = live }}</ref> पर्ल 6 को वास्तविकता बनाने की दिशा में यह पहला ठोस प्रयास था। यह प्रयास 2006 में ठप हो गया।<ref>{{cite web |url = http://www.perlmonks.org/?node_id=835936 |title = पुन: दस वर्षों में पर्ल 6 को कैसे लागू करें|access-date = 2011-01-03 |last = Tang |first = Audrey |date = 2010-04-21 |publisher = [[PerlMonks]] |archive-date = May 11, 2011 |archive-url = https://web.archive.org/web/20110511190417/http://www.perlmonks.org/?node_id=835936 |url-status = live }}</ref> | ||
PONIE पर्ल ऑन न्यू इंटरनल इंजन का संक्षिप्त नाम है। PONIE प्रोजेक्ट 2003 से 2006 तक अस्तित्व में था और पर्ल 5 और पर्ल 6 के बीच एक सेतु बनना था। यह Parrot वर्चुअल मशीन, पर्ल [[तोता आभासी मशीन]] पर चलने के लिए पर्ल 5 दुभाषिया को फिर से लिखने का एक प्रयास था। लक्ष्य दुनिया भर की हजारों कंपनियों में पर्ल 5 कोड की लाखों लाइनों का भविष्य सुनिश्चित करना था।<ref>{{citation|author=Geoff Broadwell|title=OSCON 4.4: Inside Ponie, the Bridge from Perl 5 to Perl 6|date=August 8, 2005 <!-- 8:52PM -->|url=http://www.oreillynet.com/onlamp/blog/2005/08/oscon_44_inside_ponie_the_brid.html|archive-url=https://web.archive.org/web/20120314013450/http://www.oreillynet.com/onlamp/blog/2005/08/oscon_44_inside_ponie_the_brid.html|publisher=O'Reilly ONLamp Blog|access-date=June 27, 2016|archive-date=March 14, 2012|url-status=live}}</ref> PONIE परियोजना 2006 में समाप्त हो गई और अब इसे सक्रिय रूप से विकसित नहीं किया जा रहा है। PONIE के हिस्से के रूप में पर्ल 5 दुभाषिया में किए गए कुछ सुधारों को उस परियोजना में जोड़ दिया गया था।<ref>{{citation|author=[[Jesse Vincent]]|title=Ponie has been put out to pasture|date=August 23, 2006<!-- 10:40 PM -->|url=http://news.perlfoundation.org/2006/08/ponie_has_been_put_out_to_past.html|df=mdy-all|archive-url=https://web.archive.org/web/20090627091007/http://news.perlfoundation.org/2006/08/ponie_has_been_put_out_to_past.html|publisher=The Perl Foundation|access-date=January 15, 2019|archive-date=June 27, 2009|url-status=dead}}</ref> | PONIE पर्ल ऑन न्यू इंटरनल इंजन का संक्षिप्त नाम है। PONIE प्रोजेक्ट 2003 से 2006 तक अस्तित्व में था और पर्ल 5 और पर्ल 6 के बीच एक सेतु बनना था। यह Parrot वर्चुअल मशीन, पर्ल [[तोता आभासी मशीन]] पर चलने के लिए पर्ल 5 दुभाषिया को फिर से लिखने का एक प्रयास था। लक्ष्य दुनिया भर की हजारों कंपनियों में पर्ल 5 कोड की लाखों लाइनों का भविष्य सुनिश्चित करना था।<ref>{{citation|author=Geoff Broadwell|title=OSCON 4.4: Inside Ponie, the Bridge from Perl 5 to Perl 6|date=August 8, 2005 <!-- 8:52PM -->|url=http://www.oreillynet.com/onlamp/blog/2005/08/oscon_44_inside_ponie_the_brid.html|archive-url=https://web.archive.org/web/20120314013450/http://www.oreillynet.com/onlamp/blog/2005/08/oscon_44_inside_ponie_the_brid.html|publisher=O'Reilly ONLamp Blog|access-date=June 27, 2016|archive-date=March 14, 2012|url-status=live}}</ref> PONIE परियोजना 2006 में समाप्त हो गई और अब इसे सक्रिय रूप से विकसित नहीं किया जा रहा है। PONIE के हिस्से के रूप में पर्ल 5 दुभाषिया में किए गए कुछ सुधारों को उस परियोजना में जोड़ दिया गया था।<ref>{{citation|author=[[Jesse Vincent]]|title=Ponie has been put out to pasture|date=August 23, 2006<!-- 10:40 PM -->|url=http://news.perlfoundation.org/2006/08/ponie_has_been_put_out_to_past.html|df=mdy-all|archive-url=https://web.archive.org/web/20090627091007/http://news.perlfoundation.org/2006/08/ponie_has_been_put_out_to_past.html|publisher=The Perl Foundation|access-date=January 15, 2019|archive-date=June 27, 2009|url-status=dead}}</ref> | ||
18 दिसम्बर 2007 को पर्ल 1.0, पर्ल 5.10.0 की 20वीं वर्षगांठ जारी की गई। पर्ल 5.10.0 में उल्लेखनीय नई विशेषताएं | 18 दिसम्बर 2007 को पर्ल 1.0, पर्ल 5.10.0 की 20वीं वर्षगांठ जारी की गई। पर्ल 5.10.0 में उल्लेखनीय नई विशेषताएं सम्मिलित हैं, जो इसे पर्ल 6 के करीब लाती हैं। इनमें एक [[स्विच स्टेटमेंट]] (जिसे दिया गया / कब कहा जाता है), रेगुलर एक्सप्रेशन अपडेट और स्मार्ट मैच ऑपरेटर (~~) सम्मिलित हैं।<ref name="5100delta">{{cite web |url = http://perldoc.perl.org/perl5100delta.html |title = perl5100delta - पर्ल 5.10.0 के लिए नया क्या है|access-date = 2011-01-08 |work = Perl 5 version 12.2 documentation |publisher = perldoc.perl.org |archive-date = December 21, 2010 |archive-url = https://web.archive.org/web/20101221024004/http://perldoc.perl.org/perl5100delta.html |url-status = live }}</ref><ref name="perlsyn-smart">{{cite web |url = http://perldoc.perl.org/perlsyn.html#Smart-matching-in-detail |title = perlsyn - पर्ल सिंटैक्स|access-date = 2011-01-21 |work = Perl 5 version 12.2 documentation |publisher = perldoc.perl.org |archive-date = August 26, 2013 |archive-url = https://web.archive.org/web/20130826100652/http://perldoc.perl.org/perlsyn.html#Smart-matching-in-detail |url-status = live }}</ref> | ||
इसी समय के आसपास, तोता आभासी मशीन के साथ मिलकर विकसित, [[स्वर्ग]] के रूप में ज्ञात पर्ल 6 के एक और कार्यान्वयन पर विकास शुरू हुआ। नवंबर 2009 तक, Rakudo Perl की मासिक रिलीज़ नियमित रूप से होती रही है और अब यह पर्ल 6 का सबसे पूर्ण कार्यान्वयन है। | इसी समय के आसपास, तोता आभासी मशीन के साथ मिलकर विकसित, [[स्वर्ग]] के रूप में ज्ञात पर्ल 6 के एक और कार्यान्वयन पर विकास शुरू हुआ। नवंबर 2009 तक, Rakudo Perl की मासिक रिलीज़ नियमित रूप से होती रही है और अब यह पर्ल 6 का सबसे पूर्ण कार्यान्वयन है। | ||
Line 153: | Line 153: | ||
12 अप्रैल 2010 को पर्ल 5.12.0 जारी किया गया। उल्लेखनीय कोर संवर्द्धन में नए शामिल हैं <code>package NAME VERSION</code> सिंटैक्स, यादा यादा ऑपरेटर (प्लेसहोल्डर कोड को चिह्नित करने का इरादा है जो अभी तक लागू नहीं हुआ है), निहित सख्ती<!-- "strictures" is not a typo -->, पूर्ण [[Y2038]] अनुपालन, रेगेक्स रूपांतरण ओवरलोडिंग, [[DTrace]] समर्थन और यूनिकोड 5.2।<ref name="5120delta">{{cite web |url = http://perldoc.perl.org/perl5120delta.html |title = perl5120delta - पर्ल v5.12.0 के लिए नया क्या है|access-date = 2011-01-08 |work = Perl 5 version 12.2 documentation |publisher = perldoc.perl.org |archive-date = January 4, 2011 |archive-url = https://web.archive.org/web/20110104093548/http://perldoc.perl.org/perl5120delta.html |url-status = live }}</ref> | 12 अप्रैल 2010 को पर्ल 5.12.0 जारी किया गया। उल्लेखनीय कोर संवर्द्धन में नए शामिल हैं <code>package NAME VERSION</code> सिंटैक्स, यादा यादा ऑपरेटर (प्लेसहोल्डर कोड को चिह्नित करने का इरादा है जो अभी तक लागू नहीं हुआ है), निहित सख्ती<!-- "strictures" is not a typo -->, पूर्ण [[Y2038]] अनुपालन, रेगेक्स रूपांतरण ओवरलोडिंग, [[DTrace]] समर्थन और यूनिकोड 5.2।<ref name="5120delta">{{cite web |url = http://perldoc.perl.org/perl5120delta.html |title = perl5120delta - पर्ल v5.12.0 के लिए नया क्या है|access-date = 2011-01-08 |work = Perl 5 version 12.2 documentation |publisher = perldoc.perl.org |archive-date = January 4, 2011 |archive-url = https://web.archive.org/web/20110104093548/http://perldoc.perl.org/perl5120delta.html |url-status = live }}</ref> | ||
14 मई, 2011 को पर्ल 5.14 को [[JSON]] बिल्ट-इन सपोर्ट के साथ रिलीज़ किया गया था।<ref>{{cite web|url=https://metacpan.org/pod/distribution/perl/pod/perl5140delta.pod|title=perl5140delta - पर्ल v5.14.0 के लिए नया क्या है - metacpan.org|website=metacpan.org|access-date=July 22, 2017|archive-date=July 25, 2018|archive-url=https://web.archive.org/web/20180725004523/https://metacpan.org/pod/distribution/perl/pod/perl5140delta.pod|url-status=live}}</ref> | 14 मई, 2011 को पर्ल 5.14 को [[JSON]] बिल्ट-इन सपोर्ट के साथ रिलीज़ किया गया था।<ref>{{cite web|url=https://metacpan.org/pod/distribution/perl/pod/perl5140delta.pod|title=perl5140delta - पर्ल v5.14.0 के लिए नया क्या है - metacpan.org|website=metacpan.org|access-date=July 22, 2017|archive-date=July 25, 2018|archive-url=https://web.archive.org/web/20180725004523/https://metacpan.org/pod/distribution/perl/pod/perl5140delta.pod|url-status=live}}</ref> | ||
20 मई 2012 को पर्ल 5.16 जारी किया गया था। उल्लेखनीय नई सुविधाओं में पर्ल के दिए गए संस्करण को निर्दिष्ट करने की क्षमता | 20 मई 2012 को पर्ल 5.16 जारी किया गया था। उल्लेखनीय नई सुविधाओं में पर्ल के दिए गए संस्करण को निर्दिष्ट करने की क्षमता सम्मिलित है, जो कि अनुकरण करना चाहता है, जिससे उपयोगकर्ता अपने पर्ल के संस्करण को अपग्रेड कर सकते हैं, लेकिन फिर भी पुरानी स्क्रिप्ट चलाते हैं जो सामान्य रूप से असंगत होती हैं।<ref name="5160delta_version">{{cite web |url = https://perldoc.perl.org/perl5160delta |title = perl5160delta - पर्ल v5.16.0 के लिए नया क्या है|access-date = 2012-05-21 |website = perldoc.perl.org}}</रेफरी>{{Failed verification|date=June 2022}} पर्ल 5.16 यूनिकोड 6.1 का समर्थन करने के लिए कोर को भी अपडेट करता है।<ref name="5160delta_version" /> | ||
18 मई, 2013 को पर्ल 5.18 जारी किया गया था। उल्लेखनीय नई विशेषताओं में नए dtrace हुक, लेक्सिकल सब, अधिक CORE:: सब, सुरक्षा कारणों से हैश का ओवरहाल, यूनिकोड 6.2 के लिए समर्थन शामिल हैं।<ref name="5180delta_version">{{cite web |url = https://metacpan.org/pod/release/RJBS/perl-5.18.1/pod/perl5180delta.pod |title = perl5180delta - पर्ल v5.18.0 - पर्ल प्रोग्रामिंग भाषा के लिए नया क्या है|access-date = 2013-10-27 |work = Perl 5 version 18.0 documentation |publisher = metacpan.org |archive-date = October 29, 2013 |archive-url = https://web.archive.org/web/20131029224638/https://metacpan.org/pod/release/RJBS/perl-5.18.1/pod/perl5180delta.pod |url-status = live }}</रेफरी> | 18 मई, 2013 को पर्ल 5.18 जारी किया गया था। उल्लेखनीय नई विशेषताओं में नए dtrace हुक, लेक्सिकल सब, अधिक CORE:: सब, सुरक्षा कारणों से हैश का ओवरहाल, यूनिकोड 6.2 के लिए समर्थन शामिल हैं।<ref name="5180delta_version">{{cite web |url = https://metacpan.org/pod/release/RJBS/perl-5.18.1/pod/perl5180delta.pod |title = perl5180delta - पर्ल v5.18.0 - पर्ल प्रोग्रामिंग भाषा के लिए नया क्या है|access-date = 2013-10-27 |work = Perl 5 version 18.0 documentation |publisher = metacpan.org |archive-date = October 29, 2013 |archive-url = https://web.archive.org/web/20131029224638/https://metacpan.org/pod/release/RJBS/perl-5.18.1/pod/perl5180delta.pod |url-status = live }}</रेफरी> | ||
Line 167: | Line 167: | ||
=== 2020 आगे === | === 2020 आगे === | ||
जून 2020 में, #Perl_7 को पर्ल 5 के उत्तराधिकारी के रूप में घोषित किया गया था।<ref name="perl7announced">{{cite web |url=https://news.perlfoundation.org/post/perl_7_announced_sawyerx_conference |title=पर्ल 7 की घोषणा पर्ल कॉन्फ़्रेंस इन द क्लाउड में की गई|publisher=perlfoundation.org |date=2020-06-24 |access-date=2020-06-24 |archive-date=June 26, 2020 |archive-url=https://web.archive.org/web/20200626213418/https://news.perlfoundation.org/post/perl_7_announced_sawyerx_conference |url-status=live }}</ref> पर्ल 7 शुरू में 2021 की पहली छमाही में रिलीज होने की उम्मीद के साथ पर्ल 5.32 पर आधारित होना था, और उम्मीदवारों को जल्द ही रिलीज करना था।<ref name="perl7">{{cite web |url=https://www.perl.com/article/announcing-perl-7/ |title=पर्ल 7 की घोषणा|publisher=perl.com |date=2020-06-24 |access-date=2020-06-24 |archive-date=June 24, 2020 |archive-url=https://web.archive.org/web/20200624160531/https://www.perl.com/article/announcing-perl-7/ |url-status=live }}</ref> | जून 2020 में, #Perl_7 को पर्ल 5 के उत्तराधिकारी के रूप में घोषित किया गया था।<ref name="perl7announced">{{cite web |url=https://news.perlfoundation.org/post/perl_7_announced_sawyerx_conference |title=पर्ल 7 की घोषणा पर्ल कॉन्फ़्रेंस इन द क्लाउड में की गई|publisher=perlfoundation.org |date=2020-06-24 |access-date=2020-06-24 |archive-date=June 26, 2020 |archive-url=https://web.archive.org/web/20200626213418/https://news.perlfoundation.org/post/perl_7_announced_sawyerx_conference |url-status=live }}</ref> पर्ल 7 शुरू में 2021 की पहली छमाही में रिलीज होने की उम्मीद के साथ पर्ल 5.32 पर आधारित होना था, और उम्मीदवारों को जल्द ही रिलीज करना था।<ref name="perl7">{{cite web |url=https://www.perl.com/article/announcing-perl-7/ |title=पर्ल 7 की घोषणा|publisher=perl.com |date=2020-06-24 |access-date=2020-06-24 |archive-date=June 24, 2020 |archive-url=https://web.archive.org/web/20200624160531/https://www.perl.com/article/announcing-perl-7/ |url-status=live }}</ref> | ||
इस योजना को मई 2021 में बिना किसी रिलीज़ समय सीमा या पर्ल 5 के संस्करण के निर्दिष्ट आधार रेखा के रूप में उपयोग के लिए संशोधित किया गया था।<ref>{{Cite web|title=संचालन परिषद की बैठक #019 2021-05-06|url=https://www.nntp.perl.org/group/perl.perl5.porters/2021/05/msg260050.html|quote=योजना बनी हुई है कि पर्ल 7 टक्कर होगी, लेकिन 5.34.0 जारी होने के तुरंत बाद नहीं।{{nbsp}}... हमें नहीं लगता कि हम 12 महीनों में [पर्ल 7] पर वितरित कर सकते हैं।|author=Nicholas Clark|date=2021-05-09|access-date=2021-05-17|website=www.nntp.perl.org|archive-date=2021-05-18|archive-url=https://web.archive.org/web/20210518015233/https://www.nntp.perl.org/group/perl.perl5.porters/2021/05/msg260050.html|url-status=live}}</ref> पर्ल 7 के जारी होने पर, पर्ल 5 का दीर्घकालिक रखरखाव किया जाएगा। समर्थित पर्ल 5 संस्करण | इस योजना को मई 2021 में बिना किसी रिलीज़ समय सीमा या पर्ल 5 के संस्करण के निर्दिष्ट आधार रेखा के रूप में उपयोग के लिए संशोधित किया गया था।<ref>{{Cite web|title=संचालन परिषद की बैठक #019 2021-05-06|url=https://www.nntp.perl.org/group/perl.perl5.porters/2021/05/msg260050.html|quote=योजना बनी हुई है कि पर्ल 7 टक्कर होगी, लेकिन 5.34.0 जारी होने के तुरंत बाद नहीं।{{nbsp}}... हमें नहीं लगता कि हम 12 महीनों में [पर्ल 7] पर वितरित कर सकते हैं।|author=Nicholas Clark|date=2021-05-09|access-date=2021-05-17|website=www.nntp.perl.org|archive-date=2021-05-18|archive-url=https://web.archive.org/web/20210518015233/https://www.nntp.perl.org/group/perl.perl5.porters/2021/05/msg260050.html|url-status=live}}</ref> पर्ल 7 के जारी होने पर, पर्ल 5 का दीर्घकालिक रखरखाव किया जाएगा। समर्थित पर्ल 5 संस्करण चूंकि महत्वपूर्ण सुरक्षा और बग फिक्स प्राप्त करना जारी रखेंगे।<ref>{{cite book |url=https://leanpub.com/preparing_for_perl7 |title=पर्ल 7d के लिए तैयारी|publisher=leanpub.com |date=2020-06-24 |access-date=2020-06-24 |archive-date=June 25, 2020 |archive-url=https://web.archive.org/web/20200625004047/https://leanpub.com/preparing_for_perl7 |url-status=live }}</ref> | ||
Line 189: | Line 189: | ||
== सिंहावलोकन == | == सिंहावलोकन == | ||
{{Main| | {{Main|पर्ल भाषा संरचना}} | ||
वाल के अनुसार पर्ल के दो स्लोगन हैं। पहला है इसे करने के एक से अधिक तरीके हैं, जिन्हें आमतौर पर TMTOWTDI के नाम से जाना जाता है। दूसरा नारा है आसान चीजें आसान होनी चाहिए और कठिन चीजें संभव होनी चाहिए।<ref name="programmingperl2" /> | वाल के अनुसार पर्ल के दो स्लोगन हैं। पहला है इसे करने के एक से अधिक तरीके हैं, जिन्हें आमतौर पर TMTOWTDI के नाम से जाना जाता है। दूसरा नारा है आसान चीजें आसान होनी चाहिए और कठिन चीजें संभव होनी चाहिए।<ref name="programmingperl2" /> | ||
Line 204: | Line 204: | ||
=== डिजाइन === | === डिजाइन === | ||
पर्ल के डिजाइन को कंप्यूटर उद्योग में तीन व्यापक रुझानों की प्रतिक्रिया के रूप में समझा जा सकता है: गिरती हार्डवेयर लागत, बढ़ती श्रम लागत और [[संकलक]] प्रौद्योगिकी में सुधार। पहले की कई कंप्यूटर भाषाएँ, जैसे कि [[फोरट्रान]] और सी, का उद्देश्य महंगे कंप्यूटर हार्डवेयर का कुशल उपयोग करना था। इसके विपरीत, पर्ल को डिजाइन किया गया था ताकि कंप्यूटर प्रोग्रामर अधिक तेज़ी से और आसानी से प्रोग्राम लिख सकें।<ref>{{Cite web |date=February 13, 2014 |title=द फॉल ऑफ पर्ल, वेब की मोस्ट प्रॉमिसिंग लैंग्वेज|url=https://www.fastcompany.com/3026446/the-fall-of-perl-the-webs-most-promising-language |website=FastCompany}}</ref> | पर्ल के डिजाइन को कंप्यूटर उद्योग में तीन व्यापक रुझानों की प्रतिक्रिया के रूप में समझा जा सकता है: गिरती हार्डवेयर लागत, बढ़ती श्रम लागत और [[संकलक]] प्रौद्योगिकी में सुधार। पहले की कई कंप्यूटर भाषाएँ, जैसे कि [[फोरट्रान]] और सी, का उद्देश्य महंगे कंप्यूटर हार्डवेयर का कुशल उपयोग करना था। इसके विपरीत, पर्ल को डिजाइन किया गया था ताकि कंप्यूटर प्रोग्रामर अधिक तेज़ी से और आसानी से प्रोग्राम लिख सकें।<ref>{{Cite web |date=February 13, 2014 |title=द फॉल ऑफ पर्ल, वेब की मोस्ट प्रॉमिसिंग लैंग्वेज|url=https://www.fastcompany.com/3026446/the-fall-of-perl-the-webs-most-promising-language |website=FastCompany}}</ref> | ||
पर्ल में कई विशेषताएं हैं जो अधिक [[सी पी यू]] और मेमोरी आवश्यकताओं की कीमत पर प्रोग्रामर के कार्य को आसान बनाती हैं। इनमें स्वचालित स्मृति प्रबंधन | पर्ल में कई विशेषताएं हैं जो अधिक [[सी पी यू]] और मेमोरी आवश्यकताओं की कीमत पर प्रोग्रामर के कार्य को आसान बनाती हैं। इनमें स्वचालित स्मृति प्रबंधन सम्मिलित है; [[गतिशील टाइपिंग]]; तार, सूचियाँ और हैश; नियमित अभिव्यक्ति; [[आत्मनिरीक्षण टाइप करें]]; और एक <code>eval()</code> समारोह। पर्ल नो बिल्ट-इन लिमिट्स के सिद्धांत का पालन करता है,<ref name="schwartz01" />[[जीरो वन इन्फिनिटी]] नियम के समान एक विचार।{{cn|date=December 2020}} | ||
वॉल को एक भाषाविद् के रूप में प्रशिक्षित किया गया था, और पर्ल का डिज़ाइन [[भाषाई]] सिद्धांतों द्वारा बहुत अधिक सूचित किया गया है। उदाहरणों में [[हफ़मैन कोडिंग]] (सामान्य निर्माण छोटा होना चाहिए), अच्छा अंत-भार (महत्वपूर्ण जानकारी पहले आनी चाहिए), और [[भाषा आदिम]] का एक बड़ा संग्रह | वॉल को एक भाषाविद् के रूप में प्रशिक्षित किया गया था, और पर्ल का डिज़ाइन [[भाषाई]] सिद्धांतों द्वारा बहुत अधिक सूचित किया गया है। उदाहरणों में [[हफ़मैन कोडिंग]] (सामान्य निर्माण छोटा होना चाहिए), अच्छा अंत-भार (महत्वपूर्ण जानकारी पहले आनी चाहिए), और [[भाषा आदिम]] का एक बड़ा संग्रह सम्मिलित है। पर्ल भाषा निर्माण का समर्थन करता है जो मनुष्यों के लिए लिखने के लिए संक्षिप्त और स्वाभाविक है, यहां तक कि जहां वे पर्ल दुभाषिया को जटिल करते हैं।<ref>{{Cite web|last=Wall|first=Larry|title=पर्ल - पर्ल 5 भाषा दुभाषिया - पर्लडॉक ब्राउज़र|url=https://perldoc.perl.org/perl|access-date=2021-06-24|website=perldoc.perl.org}}</ref> | ||
पर्ल का [[सिंटेक्स (प्रोग्रामिंग भाषाएं)]] इस विचार को दर्शाता है कि जो चीजें अलग हैं उन्हें अलग दिखना चाहिए।<ref name="wall97">{{cite journal |url = http://www.linuxjournal.com/article/2070 |title = आप कहाँ से हैं?|access-date = 2011-03-13 |last = Wall |first = Larry |date = 1997-03-01 |journal = [[Linux Journal]] |archive-date = December 9, 2010 |archive-url = https://web.archive.org/web/20101209021107/http://www.linuxjournal.com/article/2070 |url-status = live }}</ref> उदाहरण के लिए, स्केलर, सरणियाँ और हैश के अलग-अलग प्रमुख सिगिल हैं। ऐरे इंडेक्स और हैश कुंजियाँ विभिन्न प्रकार के ब्रेसिज़ का उपयोग करती हैं। स्ट्रिंग्स और नियमित अभिव्यक्तियों के अलग-अलग मानक सीमांकक होते हैं। इस दृष्टिकोण को लिस्प (प्रोग्रामिंग भाषा) जैसी भाषा से अलग किया जा सकता है, जहां सभी उद्देश्यों के लिए सरल और सार्वभौमिक [[एस-अभिव्यक्ति]] से बना एक ही मूल सिंटैक्स का उपयोग किया जाता है।{{cn|date=December 2020}} | पर्ल का [[सिंटेक्स (प्रोग्रामिंग भाषाएं)]] इस विचार को दर्शाता है कि जो चीजें अलग हैं उन्हें अलग दिखना चाहिए।<ref name="wall97">{{cite journal |url = http://www.linuxjournal.com/article/2070 |title = आप कहाँ से हैं?|access-date = 2011-03-13 |last = Wall |first = Larry |date = 1997-03-01 |journal = [[Linux Journal]] |archive-date = December 9, 2010 |archive-url = https://web.archive.org/web/20101209021107/http://www.linuxjournal.com/article/2070 |url-status = live }}</ref> उदाहरण के लिए, स्केलर, सरणियाँ और हैश के अलग-अलग प्रमुख सिगिल हैं। ऐरे इंडेक्स और हैश कुंजियाँ विभिन्न प्रकार के ब्रेसिज़ का उपयोग करती हैं। स्ट्रिंग्स और नियमित अभिव्यक्तियों के अलग-अलग मानक सीमांकक होते हैं। इस दृष्टिकोण को लिस्प (प्रोग्रामिंग भाषा) जैसी भाषा से अलग किया जा सकता है, जहां सभी उद्देश्यों के लिए सरल और सार्वभौमिक [[एस-अभिव्यक्ति]] से बना एक ही मूल सिंटैक्स का उपयोग किया जाता है।{{cn|date=December 2020}} | ||
पर्ल किसी विशेष [[प्रोग्रामिंग प्रतिमान]] (प्रक्रियात्मक प्रोग्रामिंग, [[वस्तु उन्मुख कार्यकर्म]]|ऑब्जेक्ट-ओरिएंटेड, [[कार्यात्मक प्रोग्रामिंग]], या अन्य) को लागू नहीं करता है या यहां तक कि प्रोग्रामर को उनमें से किसी एक को चुनने की आवश्यकता नहीं होती है।{{cn|date=December 2020}} | पर्ल किसी विशेष [[प्रोग्रामिंग प्रतिमान]] (प्रक्रियात्मक प्रोग्रामिंग, [[वस्तु उन्मुख कार्यकर्म]]|ऑब्जेक्ट-ओरिएंटेड, [[कार्यात्मक प्रोग्रामिंग]], या अन्य) को लागू नहीं करता है या यहां तक कि प्रोग्रामर को उनमें से किसी एक को चुनने की आवश्यकता नहीं होती है।{{cn|date=December 2020}} | ||
पर्ल भाषा और इसके आस-पास के समुदाय और संस्कृति दोनों के लिए एक व्यापक व्यावहारिक झुकाव है। प्रोग्रामिंग पर्ल की प्रस्तावना शुरू होती है: पर्ल आपका काम पूरा करने के लिए एक भाषा है।<ref name="programmingperl2" />इसका एक परिणाम यह है कि पर्ल एक सुव्यवस्थित भाषा नहीं है। इसमें कई विशेषताएं शामिल हैं, इसके नियमों के अपवादों को सहन करता है, और वाक्यात्मक अस्पष्टताओं को हल करने के लिए अनुमानों को नियोजित करता है। कंपाइलर की क्षमाशील प्रकृति के कारण, कभी-कभी बग को ढूंढना मुश्किल हो सकता है। पर्ल के फ़ंक्शन प्रलेखन सूची और स्केलर संदर्भों में अंतर्निहित फ़ंक्शंस के भिन्न व्यवहार पर टिप्पणी करते हुए कहते हैं, सामान्य तौर पर, वे वही करते हैं जो आप चाहते हैं, जब तक कि आप स्थिरता नहीं चाहते।<ref name="perlfunc">{{cite web |url = http://perldoc.perl.org/perlfunc.html |title = perlfunc - पर्ल निर्मित कार्य|access-date = 2011-01-10 |work = Perl 5 version 12.2 documentation |publisher = perldoc.perl.org |archive-date = January 6, 2011 |archive-url = https://web.archive.org/web/20110106003034/http://perldoc.perl.org/perlfunc.html |url-status = live }}</ref> | पर्ल भाषा और इसके आस-पास के समुदाय और संस्कृति दोनों के लिए एक व्यापक व्यावहारिक झुकाव है। प्रोग्रामिंग पर्ल की प्रस्तावना शुरू होती है: पर्ल आपका काम पूरा करने के लिए एक भाषा है।<ref name="programmingperl2" />इसका एक परिणाम यह है कि पर्ल एक सुव्यवस्थित भाषा नहीं है। इसमें कई विशेषताएं शामिल हैं, इसके नियमों के अपवादों को सहन करता है, और वाक्यात्मक अस्पष्टताओं को हल करने के लिए अनुमानों को नियोजित करता है। कंपाइलर की क्षमाशील प्रकृति के कारण, कभी-कभी बग को ढूंढना मुश्किल हो सकता है। पर्ल के फ़ंक्शन प्रलेखन सूची और स्केलर संदर्भों में अंतर्निहित फ़ंक्शंस के भिन्न व्यवहार पर टिप्पणी करते हुए कहते हैं, सामान्य तौर पर, वे वही करते हैं जो आप चाहते हैं, जब तक कि आप स्थिरता नहीं चाहते।<ref name="perlfunc">{{cite web |url = http://perldoc.perl.org/perlfunc.html |title = perlfunc - पर्ल निर्मित कार्य|access-date = 2011-01-10 |work = Perl 5 version 12.2 documentation |publisher = perldoc.perl.org |archive-date = January 6, 2011 |archive-url = https://web.archive.org/web/20110106003034/http://perldoc.perl.org/perlfunc.html |url-status = live }}</ref> | ||
पर्ल 5 के माध्यम से पर्ल संस्करणों के लिए पर्ल भाषा के लिए कोई लिखित [[औपचारिक विनिर्देश]] या मानक | पर्ल 5 के माध्यम से पर्ल संस्करणों के लिए पर्ल भाषा के लिए कोई लिखित [[औपचारिक विनिर्देश]] या मानक सम्मिलित नहीं है, और पर्ल के वर्तमान संस्करण के लिए कोई बनाने की कोई योजना नहीं है। दुभाषिया का केवल एक ही कार्यान्वयन हुआ है, और इसके साथ ही भाषा का भी विकास हुआ है। वह दुभाषिया, अपने कार्यात्मक परीक्षणों के साथ, भाषा के वास्तविक विनिर्देश के रूप में खड़ा होता है। पर्ल 6, तथापि, एक विशिष्टता के साथ शुरू हुआ,<ref>{{cite web |url = http://www.perl6.org/specification |title = पर्ल 6 विशिष्टता|access-date = 2011-01-27 |publisher = The Perl 6 Project |archive-date = December 2, 2009 |archive-url = https://web.archive.org/web/20091202073507/http://www.perl6.org/specification/ |url-status = live }}</ref> और कई परियोजनाएं<ref>{{cite web |url = http://www.perl6.org/compilers/ |title = पर्ल 6 कंपाइलर्स|access-date = 2011-01-27 |publisher = The Perl 6 Project |archive-date = December 2, 2009 |archive-url = https://web.archive.org/web/20091202073302/http://www.perl6.org/compilers/ |url-status = live }}</ref> लक्ष्य कुछ या सभी विशिष्टताओं को लागू करना है।{{cn|date=December 2020}} | ||
Line 222: | Line 222: | ||
=== कार्यान्वयन === | === कार्यान्वयन === | ||
पर्ल को एक कोर इंटरप्रेटर के रूप में लागू किया गया है, जिसे सी में लिखा गया है, साथ में पर्ल और सी में लिखे मॉड्यूल के एक बड़े संग्रह के साथ। {{As of|2010}}, दुभाषिया C कोड की 150,000 पंक्तियों का है और विशिष्ट मशीन आर्किटेक्चर पर 1 एमबी निष्पादन योग्य के लिए संकलित करता है। वैकल्पिक रूप से, दुभाषिया को एक लिंक लाइब्रेरी में संकलित किया जा सकता है और अन्य कार्यक्रमों में एम्बेड किया जा सकता है। वितरण में लगभग 500 मॉड्यूल हैं, जिसमें पर्ल की 200,000 लाइनें और C कोड की अतिरिक्त 350,000 लाइनें | पर्ल को एक कोर इंटरप्रेटर के रूप में लागू किया गया है, जिसे सी में लिखा गया है, साथ में पर्ल और सी में लिखे मॉड्यूल के एक बड़े संग्रह के साथ। {{As of|2010}}, दुभाषिया C कोड की 150,000 पंक्तियों का है और विशिष्ट मशीन आर्किटेक्चर पर 1 एमबी निष्पादन योग्य के लिए संकलित करता है। वैकल्पिक रूप से, दुभाषिया को एक लिंक लाइब्रेरी में संकलित किया जा सकता है और अन्य कार्यक्रमों में एम्बेड किया जा सकता है। वितरण में लगभग 500 मॉड्यूल हैं, जिसमें पर्ल की 200,000 लाइनें और C कोड की अतिरिक्त 350,000 लाइनें सम्मिलित हैं (मॉड्यूल में अधिकांश C कोड में [[अक्षरों को सांकेतिक अक्षरों में बदलना]] टेबल होते हैं)।{{cn|date=December 2020}} | ||
इंटरप्रेटर में ऑब्जेक्ट-ओरिएंटेड आर्किटेक्चर होता है। पर्ल भाषा के सभी तत्व - स्केलर, सरणियाँ, हैश, कोडरेफ़्स, [[फ़ाइल संभाल]] - दुभाषिया में [[संरचना (सी प्रोग्रामिंग भाषा)]] द्वारा दर्शाए गए हैं। इन संरचनाओं पर संचालन [[मैक्रो (कंप्यूटर विज्ञान)]], टाइपपीफ और कार्यों के एक बड़े संग्रह द्वारा परिभाषित किया गया है; ये पर्ल सी [[अप्लिकेशन प्रोग्रामिंग अंतरफलक]] का गठन करते हैं। पर्ल एपीआई शुरुआत न करने वालों के लिए आश्चर्यजनक हो सकती है, लेकिन इसके प्रवेश बिंदु एक सुसंगत [[नामकरण योजना]] का पालन करते हैं, जो इसका उपयोग करने वालों को मार्गदर्शन प्रदान करता है।{{cn|date=December 2020}} | इंटरप्रेटर में ऑब्जेक्ट-ओरिएंटेड आर्किटेक्चर होता है। पर्ल भाषा के सभी तत्व - स्केलर, सरणियाँ, हैश, कोडरेफ़्स, [[फ़ाइल संभाल]] - दुभाषिया में [[संरचना (सी प्रोग्रामिंग भाषा)]] द्वारा दर्शाए गए हैं। इन संरचनाओं पर संचालन [[मैक्रो (कंप्यूटर विज्ञान)]], टाइपपीफ और कार्यों के एक बड़े संग्रह द्वारा परिभाषित किया गया है; ये पर्ल सी [[अप्लिकेशन प्रोग्रामिंग अंतरफलक]] का गठन करते हैं। पर्ल एपीआई शुरुआत न करने वालों के लिए आश्चर्यजनक हो सकती है, लेकिन इसके प्रवेश बिंदु एक सुसंगत [[नामकरण योजना]] का पालन करते हैं, जो इसका उपयोग करने वालों को मार्गदर्शन प्रदान करता है।{{cn|date=December 2020}} | ||
एक पर्ल दुभाषिया का जीवन मोटे तौर पर एक संकलन चरण और एक रन चरण में विभाजित होता है।<ref>A description of the Perl 5 interpreter can be found in ''Programming Perl'', 3rd Ed., chapter 18. See particularly page 467, which carefully distinguishes run phase and compile phase from [[Run time (program lifecycle phase)|run time]] and [[compile time]]. Perl "time" and "phase" are often confused.</ref> पर्ल में, चरण दुभाषिया के जीवन-चक्र में प्रमुख चरण हैं। प्रत्येक दुभाषिया प्रत्येक चरण से केवल एक बार गुजरता है, और चरण एक निश्चित क्रम में अनुसरण करते हैं।{{cn|date=December 2020}} | एक पर्ल दुभाषिया का जीवन मोटे तौर पर एक संकलन चरण और एक रन चरण में विभाजित होता है।<ref>A description of the Perl 5 interpreter can be found in ''Programming Perl'', 3rd Ed., chapter 18. See particularly page 467, which carefully distinguishes run phase and compile phase from [[Run time (program lifecycle phase)|run time]] and [[compile time]]. Perl "time" and "phase" are often confused.</ref> पर्ल में, चरण दुभाषिया के जीवन-चक्र में प्रमुख चरण हैं। प्रत्येक दुभाषिया प्रत्येक चरण से केवल एक बार गुजरता है, और चरण एक निश्चित क्रम में अनुसरण करते हैं।{{cn|date=December 2020}} | ||
Line 267: | Line 267: | ||
संकलित भाषाओं में समान कार्यक्रमों की तुलना में बड़े पर्ल प्रोग्राम अधिक धीरे-धीरे शुरू होते हैं क्योंकि पर्ल को हर बार चलने पर स्रोत को संकलित करना पड़ता है। येट अदर पर्ल कॉन्फ़्रेंस | वाईएपीसी::यूरोप 2005 सम्मेलन और उसके बाद के लेख ए टाइमली स्टार्ट में एक वार्ता में, जीन-लुइस लेरॉय ने पाया कि उनके पर्ल कार्यक्रमों को चलने में अपेक्षा से अधिक समय लगा क्योंकि पर्ल दुभाषिया ने अपने भीतर मॉड्यूल खोजने में महत्वपूर्ण समय बिताया। ओवर-लार्ज में पथ शामिल है।<ref>{{cite web |url = http://www.perl.com/pub/a/2005/12/21/a_timely_start.html |title = एक सामयिक शुरुआत|author = Leroy, Jean-Louis |date = 2005-12-01 |publisher = O'Reilly |access-date = May 22, 2006 |archive-date = June 13, 2006 |archive-url = https://web.archive.org/web/20060613025623/http://www.perl.com/pub/a/2005/12/21/a_timely_start.html |url-status = live }}</ref> जावा, पायथन और रूबी के विपरीत, पर्ल के पास पूर्व-संकलन के लिए केवल प्रायोगिक समर्थन है।<ref>{{cite web |url = https://metacpan.org/module/NWCLARK/perl-5.8.8/ext/B/B/Bytecode.pm#KNOWN-BUGS |title = बी :: बाइटकोड पर्ल कंपाइलर का बाइटकोड बैकएंड|author1 = Beattie, Malcolm |author2 = Enache Adrian |name-list-style = amp |year = 2003 |publisher = [[CPAN]] |access-date = September 16, 2013 |archive-date = March 30, 2021 |archive-url = https://web.archive.org/web/20210330011632/https://metacpan.org/pod/release/NWCLARK/perl-5.8.8/ext/B/B/Bytecode.pm#KNOWN-BUGS |url-status = live }}</ref> इसलिए, पर्ल प्रोग्राम हर निष्पादन पर इस ओवरहेड पेनल्टी का भुगतान करते हैं। विशिष्ट कार्यक्रमों का रन चरण इतना लंबा है कि [[परिशोधित]] स्टार्टअप समय पर्याप्त नहीं है, लेकिन बहुत कम निष्पादन समय को मापने वाले बेंचमार्क इस ओवरहेड के कारण तिरछे होने की संभावना है।<ref>{{Cite book|last1=Schwartz|first1=Randal|url=https://books.google.com/books?id=va1PSgaO4xIC&q=Therefore,+Perl+programs+pay+this+overhead+penalty+on+every+execution.+The+run+phase+of+typical+programs+is+long+enough+that+amortized+startup+time+is+not+substantial,+but+benchmarks+that+measure+very+short+execution+times+are+likely+to+be+skewed+due+to+this+overhead.|title=लर्निंग पर्ल|last2=foy|first2=brian|last3=Phoenix|first3=Tom|date=2011-06-23|publisher="O'Reilly Media, Inc."|isbn=978-1-4493-0358-7|language=en}}</ref> | संकलित भाषाओं में समान कार्यक्रमों की तुलना में बड़े पर्ल प्रोग्राम अधिक धीरे-धीरे शुरू होते हैं क्योंकि पर्ल को हर बार चलने पर स्रोत को संकलित करना पड़ता है। येट अदर पर्ल कॉन्फ़्रेंस | वाईएपीसी::यूरोप 2005 सम्मेलन और उसके बाद के लेख ए टाइमली स्टार्ट में एक वार्ता में, जीन-लुइस लेरॉय ने पाया कि उनके पर्ल कार्यक्रमों को चलने में अपेक्षा से अधिक समय लगा क्योंकि पर्ल दुभाषिया ने अपने भीतर मॉड्यूल खोजने में महत्वपूर्ण समय बिताया। ओवर-लार्ज में पथ शामिल है।<ref>{{cite web |url = http://www.perl.com/pub/a/2005/12/21/a_timely_start.html |title = एक सामयिक शुरुआत|author = Leroy, Jean-Louis |date = 2005-12-01 |publisher = O'Reilly |access-date = May 22, 2006 |archive-date = June 13, 2006 |archive-url = https://web.archive.org/web/20060613025623/http://www.perl.com/pub/a/2005/12/21/a_timely_start.html |url-status = live }}</ref> जावा, पायथन और रूबी के विपरीत, पर्ल के पास पूर्व-संकलन के लिए केवल प्रायोगिक समर्थन है।<ref>{{cite web |url = https://metacpan.org/module/NWCLARK/perl-5.8.8/ext/B/B/Bytecode.pm#KNOWN-BUGS |title = बी :: बाइटकोड पर्ल कंपाइलर का बाइटकोड बैकएंड|author1 = Beattie, Malcolm |author2 = Enache Adrian |name-list-style = amp |year = 2003 |publisher = [[CPAN]] |access-date = September 16, 2013 |archive-date = March 30, 2021 |archive-url = https://web.archive.org/web/20210330011632/https://metacpan.org/pod/release/NWCLARK/perl-5.8.8/ext/B/B/Bytecode.pm#KNOWN-BUGS |url-status = live }}</ref> इसलिए, पर्ल प्रोग्राम हर निष्पादन पर इस ओवरहेड पेनल्टी का भुगतान करते हैं। विशिष्ट कार्यक्रमों का रन चरण इतना लंबा है कि [[परिशोधित]] स्टार्टअप समय पर्याप्त नहीं है, लेकिन बहुत कम निष्पादन समय को मापने वाले बेंचमार्क इस ओवरहेड के कारण तिरछे होने की संभावना है।<ref>{{Cite book|last1=Schwartz|first1=Randal|url=https://books.google.com/books?id=va1PSgaO4xIC&q=Therefore,+Perl+programs+pay+this+overhead+penalty+on+every+execution.+The+run+phase+of+typical+programs+is+long+enough+that+amortized+startup+time+is+not+substantial,+but+benchmarks+that+measure+very+short+execution+times+are+likely+to+be+skewed+due+to+this+overhead.|title=लर्निंग पर्ल|last2=foy|first2=brian|last3=Phoenix|first3=Tom|date=2011-06-23|publisher="O'Reilly Media, Inc."|isbn=978-1-4493-0358-7|language=en}}</ref> | ||
इस स्थिति को सुधारने के लिए कई उपकरण पेश किए गए हैं। पहला ऐसा उपकरण अपाचे का mod_perl था, जिसने सबसे आम कारणों में से एक को संबोधित करने की मांग की थी कि छोटे पर्ल प्रोग्राम तेजी से लागू किए गए थे: कॉमन गेटवे इंटरफेस [[वर्ल्ड वाइड वेब]] डेवलपमेंट। ActiveState, Microsoft [[ISAPI]] के माध्यम से, समान प्रदर्शन सुधार प्रदान करता है।<ref>{{Cite book|last1=Stein|first1=Lincoln|url=https://books.google.com/books?id=qyzTI_eAeHUC&q=A+number+of+tools+have+been+introduced+to+improve+this+situation.+The+first+such+tool+was+Apache's+mod+perl,+which+sought+to+address+one+of+the+most-common+reasons+that+small+Perl+programs+were+invoked+rapidly:+CGI+Web+development.+ActivePerl,+via+Microsoft+ISAPI,+provides+similar+performance+improvements.|title=पर्ल और सी के साथ अपाचे मॉड्यूल लिखना: अपाचे एपीआई और मॉड_पर्ल|last2=MacEachern|first2=Doug|date=1999|publisher="O'Reilly Media, Inc."|isbn=978-1-56592-567-0|language=en}}</ref> | इस स्थिति को सुधारने के लिए कई उपकरण पेश किए गए हैं। पहला ऐसा उपकरण अपाचे का mod_perl था, जिसने सबसे आम कारणों में से एक को संबोधित करने की मांग की थी कि छोटे पर्ल प्रोग्राम तेजी से लागू किए गए थे: कॉमन गेटवे इंटरफेस [[वर्ल्ड वाइड वेब]] डेवलपमेंट। ActiveState, Microsoft [[ISAPI]] के माध्यम से, समान प्रदर्शन सुधार प्रदान करता है।<ref>{{Cite book|last1=Stein|first1=Lincoln|url=https://books.google.com/books?id=qyzTI_eAeHUC&q=A+number+of+tools+have+been+introduced+to+improve+this+situation.+The+first+such+tool+was+Apache's+mod+perl,+which+sought+to+address+one+of+the+most-common+reasons+that+small+Perl+programs+were+invoked+rapidly:+CGI+Web+development.+ActivePerl,+via+Microsoft+ISAPI,+provides+similar+performance+improvements.|title=पर्ल और सी के साथ अपाचे मॉड्यूल लिखना: अपाचे एपीआई और मॉड_पर्ल|last2=MacEachern|first2=Doug|date=1999|publisher="O'Reilly Media, Inc."|isbn=978-1-56592-567-0|language=en}}</ref> | ||
एक बार पर्ल कोड संकलित हो जाने के बाद, निष्पादन चरण के दौरान अतिरिक्त ओवरहेड होता है जो आमतौर पर सी या सी ++ जैसी संकलित भाषाओं में लिखे गए प्रोग्राम के लिए मौजूद नहीं होता है। ऐसे ओवरहेड के उदाहरणों में [[बाईटकोड]] व्याख्या, संदर्भ-गिनती स्मृति प्रबंधन और गतिशील टाइप-चेकिंग | एक बार पर्ल कोड संकलित हो जाने के बाद, निष्पादन चरण के दौरान अतिरिक्त ओवरहेड होता है जो आमतौर पर सी या सी ++ जैसी संकलित भाषाओं में लिखे गए प्रोग्राम के लिए मौजूद नहीं होता है। ऐसे ओवरहेड के उदाहरणों में [[बाईटकोड]] व्याख्या, संदर्भ-गिनती स्मृति प्रबंधन और गतिशील टाइप-चेकिंग सम्मिलित हैं।<ref>{{Cite book|last1=Bekman|first1=Stas|url=https://books.google.com/books?id=UDabAgAAQBAJ&q=Once+Perl+code+is+compiled,+there+is+additional+overhead+during+the+execution+phase+that+typically+isn't+present+for+programs+written+in+compiled+languages+such+as+C+or+C++.+Examples+of+such+overhead+include+bytecode+interpretation,+reference-counting+memory+management,+and+dynamic+type-checking.|title=प्रैक्टिकल मोड_पर्ल|last2=Cholet|first2=Eric|date=2003|publisher="O'Reilly Media, Inc."|isbn=978-0-596-00227-5|language=en}}</ref> | ||
Line 312: | Line 312: | ||
==== जेएपीएच ==== | ==== जेएपीएच ==== | ||
ईमेल, यूज़नेट, और संदेश बोर्ड पोस्टिंग में, [[बस एक और पर्ल हैकर]] (जेएपीएच) प्रोग्राम एक आम चलन है, जिसकी शुरुआत रान्डल एल. श्वार्ट्ज ने की थी, जो शुरुआती पेशेवर पर्ल प्रशिक्षकों में से एक थे।<ref>{{cite newsgroup |author = [[Randal L. Schwartz]] |title = एक और पर्ल हैकर कौन है?|message-id = m1hfpvh2jq.fsf@halfdome.holdit.com |newsgroup = comp.lang.perl.misc |date = 1999-05-02 |url = https://groups.google.com/forum/#!msg/comp.lang.perl.misc/nK-lswsaMec/DBL87v4FxOwJ |access-date = December 5, 2014 |archive-date = July 8, 2012 |archive-url = https://archive.today/20120708165748/http://groups.google.com/group/comp.sys.acorn.programmer/browse_thread/thread/b5fd3717bda6a8d0/d4d3e151a783dffa?lnk=gst&q=ioc%23d4d3e151a783dffa#!msg/comp.lang.perl.misc/nK-lswsaMec/DBL87v4FxOwJ |url-status = live }}</ref> पर्ल कल्चर की भाषा में, पर्ल प्रोग्रामर्स को पर्ल हैकर्स के रूप में जाना जाता है, और इससे जस्ट अदर पर्ल हैकर वाक्यांश को प्रिंट करने के लिए छोटे प्रोग्राम लिखने का अभ्यास प्राप्त होता है। मूल अवधारणा की भावना में, ये प्रोग्राम मध्यम रूप से अस्पष्ट हैं और एक ईमेल या यूज़नेट संदेश के हस्ताक्षर में फिट होने के लिए काफी कम हैं। Schwartz द्वारा विकसित कैनोनिकल JAPH में अंत में अल्पविराम | ईमेल, यूज़नेट, और संदेश बोर्ड पोस्टिंग में, [[बस एक और पर्ल हैकर]] (जेएपीएच) प्रोग्राम एक आम चलन है, जिसकी शुरुआत रान्डल एल. श्वार्ट्ज ने की थी, जो शुरुआती पेशेवर पर्ल प्रशिक्षकों में से एक थे।<ref>{{cite newsgroup |author = [[Randal L. Schwartz]] |title = एक और पर्ल हैकर कौन है?|message-id = m1hfpvh2jq.fsf@halfdome.holdit.com |newsgroup = comp.lang.perl.misc |date = 1999-05-02 |url = https://groups.google.com/forum/#!msg/comp.lang.perl.misc/nK-lswsaMec/DBL87v4FxOwJ |access-date = December 5, 2014 |archive-date = July 8, 2012 |archive-url = https://archive.today/20120708165748/http://groups.google.com/group/comp.sys.acorn.programmer/browse_thread/thread/b5fd3717bda6a8d0/d4d3e151a783dffa?lnk=gst&q=ioc%23d4d3e151a783dffa#!msg/comp.lang.perl.misc/nK-lswsaMec/DBL87v4FxOwJ |url-status = live }}</ref> पर्ल कल्चर की भाषा में, पर्ल प्रोग्रामर्स को पर्ल हैकर्स के रूप में जाना जाता है, और इससे जस्ट अदर पर्ल हैकर वाक्यांश को प्रिंट करने के लिए छोटे प्रोग्राम लिखने का अभ्यास प्राप्त होता है। मूल अवधारणा की भावना में, ये प्रोग्राम मध्यम रूप से अस्पष्ट हैं और एक ईमेल या यूज़नेट संदेश के हस्ताक्षर में फिट होने के लिए काफी कम हैं। Schwartz द्वारा विकसित कैनोनिकल JAPH में अंत में अल्पविराम सम्मिलित है, हालांकि इसे अक्सर छोड़ दिया जाता है।<ref>{{cite web |url = http://www.perlmonks.org/bare/?node_id=443856 |title = कैननिकल जेएपीएच|access-date = 2011-05-16 |last = Schwartz |first = Randal |author-link = Randal L. Schwartz |date = 2005-03-31 |publisher = [[PerlMonks]] |archive-date = July 22, 2011 |archive-url = https://web.archive.org/web/20110722055125/http://www.perlmonks.org/bare/?node_id=443856 |url-status = live }}</ref> | ||
Line 358: | Line 358: | ||
=== सीपीएएन एक्मे === | === सीपीएएन एक्मे === | ||
सीपीएएन पर विशुद्ध रूप से मनोरंजन के लिए लिखे गए कोड के कई उदाहरण भी हैं। <code>Lingua::Romana::Perligata</code>, उदाहरण के लिए, [[लैटिन]] में प्रोग्राम लिखने की अनुमति देता है।<ref>{{cite web |url = http://www.csse.monash.edu.au/~damian/papers/HTML/Perligata.html |title = Lingua::Romana::Perligata -- XXI-imum Century के लिए पर्ल|author = Conway, Damian |access-date = June 15, 2006 |archive-date = September 30, 2007 |archive-url = https://web.archive.org/web/20070930165519/http://www.csse.monash.edu.au/~damian/papers/HTML/Perligata.html |url-status = live }}</ref> इस तरह के एक प्रोग्राम के निष्पादन पर, मॉड्यूल अपने स्रोत कोड को नियमित पर्ल में अनुवादित करता है और इसे चलाता है।{{cn|date=December 2020}} | सीपीएएन पर विशुद्ध रूप से मनोरंजन के लिए लिखे गए कोड के कई उदाहरण भी हैं। <code>Lingua::Romana::Perligata</code>, उदाहरण के लिए, [[लैटिन]] में प्रोग्राम लिखने की अनुमति देता है।<ref>{{cite web |url = http://www.csse.monash.edu.au/~damian/papers/HTML/Perligata.html |title = Lingua::Romana::Perligata -- XXI-imum Century के लिए पर्ल|author = Conway, Damian |access-date = June 15, 2006 |archive-date = September 30, 2007 |archive-url = https://web.archive.org/web/20070930165519/http://www.csse.monash.edu.au/~damian/papers/HTML/Perligata.html |url-status = live }}</ref> इस तरह के एक प्रोग्राम के निष्पादन पर, मॉड्यूल अपने स्रोत कोड को नियमित पर्ल में अनुवादित करता है और इसे चलाता है।{{cn|date=December 2020}} | ||
पर्ल समुदाय ने [[Acme Corporation]] नामस्थान को ऐसे मॉड्यूल के लिए अलग रखा है जो प्रकृति में मज़ेदार हैं (लेकिन इसका दायरा खोजपूर्ण या प्रायोगिक कोड या किसी अन्य मॉड्यूल को | पर्ल समुदाय ने [[Acme Corporation]] नामस्थान को ऐसे मॉड्यूल के लिए अलग रखा है जो प्रकृति में मज़ेदार हैं (लेकिन इसका दायरा खोजपूर्ण या प्रायोगिक कोड या किसी अन्य मॉड्यूल को सम्मिलित करने के लिए चौड़ा हो गया है जो कभी भी उत्पादन में उपयोग करने के लिए नहीं है)। एक्मे के कुछ मॉड्यूल जानबूझकर मनोरंजक तरीके से लागू किए गए हैं। यह भी सम्मिलित है <code>Acme::Bleach</code>, में पहले मॉड्यूल में से एक <code>Acme::</code> नामस्थान,<ref>{{cite web |url = http://grnlight.net/index.php/programming-articles/101-use-perl-journal-of-acme |archive-url = https://web.archive.org/web/20140522123044/http://grnlight.net/index.php/programming-articles/101-use-perl-journal-of-acme |url-status = dead |archive-date = 2014-05-22 |title = पर्ल का प्रयोग करें; जर्नल ऑफ एक्मे|date = 2014-05-22 |author = Brocard, Leon |publisher = GrnLight.net }}</ref> जो कार्यक्रम के स्रोत कोड को सफेद करने की अनुमति देता है (यानी, सभी वर्णों को सफेद जगह से बदल दिया जाता है) और फिर भी काम करता है।{{cn|date=December 2020}} | ||
Line 396: | Line 396: | ||
== आलोचना == | == आलोचना == | ||
पर्ल को इसके आलोचकों द्वारा विक्ट: लाइन शोर और [[केवल-लिखने वाली भाषा]] के रूप में संदर्भित किया गया है। इस तरह का सबसे पहला उल्लेख रैंडल एल. श्वार्ट्ज द्वारा लिखी गई पर्ल 4 ट्यूटोरियल पुस्तक [[लर्निंग पर्ल]] के पहले संस्करण में था।<ref>{{cite journal |title = डेवलपर अद्यतन|volume = 2 |journal = Dr. Dobb's डेवलपर अद्यतन |publisher = Miller-Freeman |year = 1995 }}</ref><!-- page 15 --> जिसके पहले अध्याय में वह कहता है: हां, कभी-कभी पर्ल बिन बुलाए लाइन शोर की तरह दिखता है, लेकिन अनुभवी पर्ल प्रोग्रामर के लिए, यह जीवन में एक मिशन के साथ [[अंततः,]]ड लाइन शोर जैसा दिखता है।<ref name="LP">{{cite book |title = लर्निंग पर्ल|last = Schwartz |first = Randal L. |author-link = Randal L. Schwartz |publisher = O'Reilly & Associates |year = 1993 |title-link = लर्निंग पर्ल|bibcode = 1993lepe.book.....S }}</ref> उन्होंने यह भी कहा कि उचित सावधानी के साथ कोडिंग करके पर्ल केवल लिखने वाली भाषा होने के आरोप से बचा जा सकता है।<ref name="LP" />पर्ल सिंहावलोकन दस्तावेज़{{Proper name|perlintro}}बताता है कि बिल्ट-इन मैजिक स्केलर वेरिएबल (कंप्यूटर साइंस) के नाम विराम चिह्न या लाइन शोर की तरह दिखते | पर्ल को इसके आलोचकों द्वारा विक्ट: लाइन शोर और [[केवल-लिखने वाली भाषा]] के रूप में संदर्भित किया गया है। इस तरह का सबसे पहला उल्लेख रैंडल एल. श्वार्ट्ज द्वारा लिखी गई पर्ल 4 ट्यूटोरियल पुस्तक [[लर्निंग पर्ल]] के पहले संस्करण में था।<ref>{{cite journal |title = डेवलपर अद्यतन|volume = 2 |journal = Dr. Dobb's डेवलपर अद्यतन |publisher = Miller-Freeman |year = 1995 }}</ref><!-- page 15 --> जिसके पहले अध्याय में वह कहता है: हां, कभी-कभी पर्ल बिन बुलाए लाइन शोर की तरह दिखता है, लेकिन अनुभवी पर्ल प्रोग्रामर के लिए, यह जीवन में एक मिशन के साथ [[अंततः,]]ड लाइन शोर जैसा दिखता है।<ref name="LP">{{cite book |title = लर्निंग पर्ल|last = Schwartz |first = Randal L. |author-link = Randal L. Schwartz |publisher = O'Reilly & Associates |year = 1993 |title-link = लर्निंग पर्ल|bibcode = 1993lepe.book.....S }}</ref> उन्होंने यह भी कहा कि उचित सावधानी के साथ कोडिंग करके पर्ल केवल लिखने वाली भाषा होने के आरोप से बचा जा सकता है।<ref name="LP" />पर्ल सिंहावलोकन दस्तावेज़{{Proper name|perlintro}}बताता है कि बिल्ट-इन मैजिक स्केलर वेरिएबल (कंप्यूटर साइंस) के नाम विराम चिह्न या लाइन शोर की तरह दिखते हैं।चूंकि, अंग्रेजी मॉड्यूल लंबे और छोटे अंग्रेजी विकल्प दोनों प्रदान करता है।{{Proper name|perlstyle}}दस्तावेज़ बताता है कि रेगुलर एक्सप्रेशंस में लाइन नॉइज़ का उपयोग करके कम किया जा सकता है <code>/x</code> व्हाइटस्पेस जोड़ने के लिए संशोधक।<ref>{{cite web |url = http://perldoc.perl.org/perlstyle.html |title = perlstyle|work = Perl 5 version 18.0 documentation |publisher = Perl 5 Porters and perldoc.perl.org |access-date = 2013-06-30 |archive-url = https://web.archive.org/web/20130626010707/http://perldoc.perl.org/perlstyle.html |archive-date = June 26, 2013 |url-status = dead }}</ref> | ||
पर्ल 6 एफएक्यू के अनुसार, पर्ल 6 को उन सामान्य संदिग्धों को कम करने के लिए डिज़ाइन किया गया था जो पर्ल 5 आलोचकों से लाइन शोर का दावा करते हैं, जिसमें अधिकांश विराम चिह्नों को हटाना और रेगेक्स सिंटैक्स का स्वच्छताकरण | पर्ल 6 एफएक्यू के अनुसार, पर्ल 6 को उन सामान्य संदिग्धों को कम करने के लिए डिज़ाइन किया गया था जो पर्ल 5 आलोचकों से लाइन शोर का दावा करते हैं, जिसमें अधिकांश विराम चिह्नों को हटाना और रेगेक्स सिंटैक्स का स्वच्छताकरण सम्मिलित है।<ref name="P6FAQ">{{cite web |url = http://www.perl6.org/archive/faq.html |title = पर्ल 6 अकसर किये गए सवाल|publisher = Perl 6 Project |access-date = 2013-06-30 |archive-date = July 1, 2013 |archive-url = https://web.archive.org/web/20130701183900/http://www.perl6.org/archive/faq.html |url-status = live }}</ref> पर्ल 6 एफएक्यू में यह भी कहा गया है कि जिसे कभी-कभी पर्ल के लाइन शोर के रूप में संदर्भित किया जाता है, वह भाषा का वास्तविक वाक्य-विन्यास है जैसे कि [[क्रियावाचक संज्ञा]]्स और [[पूर्वसर्ग और पदस्थापन]] [[अंग्रेजी भाषा]] का हिस्सा हैं।<ref name="P6FAQ" />दिसंबर 2012 की ब्लॉग पोस्टिंग में, यह दावा करने के बावजूद कि राकुडो पर्ल 6 विफल हो गया है और तब तक विफल रहेगा जब तक कि इसे कुछ वयस्क पर्यवेक्षण नहीं मिल जाता, [[रंगीन (प्रोग्रामर)]] ने कहा कि पर्ल 6 के डिजाइन में एक अच्छी तरह से परिभाषित व्याकरण के साथ-साथ एक बेहतर प्रकार भी है। प्रणाली, एक बुद्धिमान मेटामॉडल, मेटाऑपरेटर्स के साथ एक एकीकृत वस्तु प्रणाली, और संदर्भ की एक स्पष्ट प्रणाली जो व्यापक आलस्य जैसी बारीकियों के लिए प्रदान करती है।<ref name="chromatic-blog">{{cite web |url = http://www.modernperlbooks.com/mt/2012/12/the-implementation-of-perl-5-versus-perl-6.html |title = पर्ल 5 बनाम पर्ल 6 का कार्यान्वयन|author = chromatic |author-link = chromatic (programmer) |date = 2012-12-31 |access-date = 2013-06-30 |archive-date = July 29, 2013 |archive-url = https://web.archive.org/web/20130729214209/http://www.modernperlbooks.com/mt/2012/12/the-implementation-of-perl-5-versus-perl-6.html |url-status = live }}</ref> उन्होंने यह भी कहा कि पर्ल 6 में एक सुसंगतता और निरंतरता है जो पर्ल 5 में नहीं है।<ref name="chromatic-blog" /> | ||
Revision as of 19:46, 3 January 2023
File:Perl language logo.svg | |
Paradigm | Multi-paradigm: functional, imperative, object-oriented (class-based), reflective |
---|---|
द्वारा डिज़ाइन किया गया | Larry Wall |
Developer | Larry Wall |
पहली प्रस्तुति | December 18, 1987[1] |
Stable release | |
Preview release | 5.37.6[4] / 21 November 2022
|
टाइपिंग अनुशासन | Dynamic |
कार्यान्वयन भाषा | C |
ओएस | Cross-platform |
लाइसेंस | Artistic License 1.0[5][6] or GNU General Public License[7] |
फ़ाइल नाम एक्सटेंशनएस | .plx, .pl, .pm, .xs, .t, .pod, .cgi |
वेबसाइट | perl.org |
Influenced by | |
AWK, BASIC, C, C++, Lisp, sed, Unix shell[8] | |
Influenced | |
CoffeeScript,[citation needed] Groovy,[citation needed] JavaScript, Julia, LPC, PHP, Python, Raku, Ruby, PowerShell | |
|
पर्ल दो उच्च-स्तरीय प्रोग्रामिंग भाषाओं का परिवार है | उच्च-स्तरीय, सामान्य-उद्देश्य प्रोग्रामिंग भाषा | सामान्य-उद्देश्य, दुभाषिया (कंप्यूटिंग), गतिशील प्रोग्रामिंग भाषाएँ। पर्ल 5 को संदर्भित करता है, लेकिन 2000 से 2019 तक इसने अपनी पुन: डिज़ाइन की गई बहन भाषा, पर्ल 6 को भी संदर्भित किया, इससे पहले कि अक्टूबर 2019 में बाद के नाम को आधिकारिक तौर पर राकू (प्रोग्रामिंग भाषा) में बदल दिया गया।[9][10] चूंकि पर्ल आधिकारिक तौर पर संक्षिप्त रूप नहीं है,[11] प्रैक्टिकल डेटा निकालना और रिपोर्टिंग भाषा सहित कई तरह के संक्षिप्त नाम का उपयोग किया जा रहा है।[12] पर्ल को लैरी वॉल द्वारा 1987 में एक सामान्य-उद्देश्य वाली यूनिक्स स्क्रिप्टिंग भाषा के रूप में विकसित किया गया था ताकि रिपोर्ट प्रसंस्करण को आसान बनाया जा सके।[13] तब से, इसमें कई बदलाव और संशोधन हुए हैं। राकू, जो 2000 में पर्ल 5 के एक नए स्वरूप के रूप में शुरू हुआ, अंततः एक अलग भाषा में विकसित हुआ। दोनों भाषाएँ अलग-अलग विकास टीमों द्वारा स्वतंत्र रूप से विकसित की जा रही हैं और उदारतापूर्वक एक-दूसरे से विचार उधार लेती हैं।
पर्ल भाषाएँ C (प्रोग्रामिंग भाषा), यूनिक्स खोल, AWK (प्रोग्रामिंग भाषा), और sed सहित अन्य प्रोग्रामिंग भाषाओं से सुविधाएँ उधार लेती हैं;[1] वे यूनिक्स कमांड की कई समकालीन सूची की मनमानी डेटा-लंबाई सीमा के बिना टेक्स्ट प्रोसेसिंग सुविधाएं प्रदान करते हैं।[14] पर्ल 5 ने 1990 के दशक के अंत में अपनी शक्तिशाली नियमित अभिव्यक्ति और स्ट्रिंग (कंप्यूटिंग) पदच्छेद क्षमताओं के कारण एक कॉमन गेटवे इंटरफ़ेस भाषा के रूप में व्यापक लोकप्रियता हासिल की।[15][16][17][18] CGI के अतिरिक्त, Perl 5 का उपयोग कार्यकारी प्रबंधक, कंप्यूटर नेटवर्क प्रोग्रामिंग, वित्त, जैव सूचना विज्ञान और अन्य अनुप्रयोगों जैसे ग्राफिकल यूज़र इंटरफ़ेस के लिए किया जाता है। इसे स्विस आर्मी चेनसॉ का उपनाम दिया गया है स्क्रिप्टिंग भाषाओं के लचीलेपन और शक्ति के कारण,[19] और वह भी जिसे कुछ लोग कुरूपता मानते हैं[20] कई अन्य भाषाओं की तुलना में इसके अधिक विशेष वर्णों के उपयोग के कारण। 1998 में, इसे डक्ट टेप के रूप में भी संदर्भित किया गया था जो इंटरनेट को एक साथ रखता है, एक गोंद भाषा के रूप में इसके सर्वव्यापी उपयोग और इसकी कथित अयोग्यता दोनों के संदर्भ में।[21] पर्ल एक अत्यधिक अभिव्यंजक शक्ति (कंप्यूटर विज्ञान) प्रोग्रामिंग भाषा है: किसी दिए गए एल्गोरिथ्म के लिए स्रोत कोड छोटा और अत्यधिक संकुचित हो सकता है।[22][23]
नाम
पर्ल को मूल रूप से "पर्ल" नाम दिया गया था। वॉल सकारात्मक अर्थों के साथ भाषा को एक छोटा नाम देना चाहते थे। वॉल ने पर्ल की आधिकारिक प्रदर्शन से पहले मौजूदा पर्ल (प्रोग्रामिंग भाषा) प्रोग्रामिंग भाषा की खोज की और नाम की वर्तनी बदल दी।[24] भाषा का जिक्र करते समय, नाम पूंजीकृत होता है: पर्ल। प्रोग्राम का संदर्भ देते समय, नाम अनकैपिटलाइज्ड (पर्ल) होता है क्योंकि अधिकांश यूनिक्स-जैसी फाइल सिस्टम केस-संवेदी होते हैं। प्रोग्रामिंग पर्ल के पहले संस्करण के जारी होने से पहले, भाषा को पर्ल के रूप में संदर्भित करना आम बात थी।चूंकि, Randal L. Schwartz ने पुस्तक में भाषा के नाम को कैपिटलाइज़ किया ताकि टाइपसेट करते समय इसे बेहतर तरीके से प्रदर्शित किया जा सके। इस स्थिति के भेद को बाद में विहित के रूप में प्रलेखित किया गया था।[25] नाम को कभी-कभी संक्षिप्त नाम के रूप में विस्तारित किया जाता है: प्रैक्टिकल एक्सट्रैक्शन और रिपोर्ट भाषा[26] और वॉल्स ओन पैथोलॉजिकली इक्लेक्टिक रबिश लिस्टर जो पर्ल के मैन पेज में है।[27]
इतिहास
प्रारंभिक संस्करण
लैरी वॉल ने 1987 में यूनिसिस में एक प्रोग्रामर के रूप में काम करते हुए पर्ल पर काम करना शुरू किया।[14]और 18 दिसंबर 1987 को संस्करण 1.0।[1]अगले कुछ वर्षों में भाषा का तेजी से विस्तार हुआ।
1988 में रिलीज़ हुई पर्ल 2 में एक बेहतर रेगुलर एक्सप्रेशन इंजन था। 1989 में जारी पर्ल 3 ने बाइनरी डेटा स्ट्रीम के लिए समर्थन जोड़ा।[citation needed] मूल रूप से, पर्ल के लिए एकमात्र दस्तावेज एक लंबा मैन पेज था। 1991 में, प्रोग्रामिंग पर्ल, जिसे कई पर्ल प्रोग्रामर अपने कवर के कारण कैमल बुक के रूप में जानते थे, प्रकाशित हुआ और भाषा के लिए वास्तविक संदर्भ बन गया। उसी समय, पर्ल संस्करण संख्या को 4 तक बढ़ा दिया गया था, भाषा में एक बड़े बदलाव को चिह्नित करने के लिए नहीं बल्कि पुस्तक द्वारा अच्छी तरह से प्रलेखित संस्करण की पहचान करने के लिए।[citation needed]
अर्ली पर्ल 5
पर्ल 4 रखरखाव रिलीज की एक श्रृंखला के माध्यम से चला गया, 1993 में पर्ल 4.036 में समाप्त हुआ, जिसके बाद वॉल ने पर्ल 5 पर काम शुरू करने के लिए पर्ल 4 को छोड़ दिया। पर्ल 5 का प्रारंभिक डिजाइन 1994 में जारी रहा। पर्ल 5 को अलग-अलग प्लेटफॉर्म पर पोर्ट करने के काम को समन्वित करें। यह पर्ल 5 के विकास, रखरखाव और पोर्टिंग के लिए प्राथमिक मंच बना हुआ है।[28] पर्ल 5.000 को 17 अक्टूबर 1994 को जारी किया गया था।[29] यह दुभाषिया (कंप्यूटिंग) का लगभग पूर्ण पुनर्लेखन था, और इसने ऑब्जेक्ट (कंप्यूटर विज्ञान), संदर्भ (कंप्यूटर विज्ञान), स्थानीय चर | लेक्सिकल (मेरा) चर, और मॉड्यूलर प्रोग्रामिंग सहित भाषा में कई नई सुविधाएँ जोड़ीं। महत्वपूर्ण रूप से, मॉड्यूल ने दुभाषिया को संशोधित किए बिना भाषा को विस्तारित करने के लिए एक तंत्र प्रदान किया। इसने कोर दुभाषिया को स्थिर करने की अनुमति दी, भले ही इसने साधारण पर्ल प्रोग्रामर को नई भाषा सुविधाओं को जोड़ने में सक्षम बनाया। पर्ल 5 तब से सक्रिय विकास में है।
पर्ल 5.001 को 13 मार्च, 1995 को जारी किया गया था। पर्ल 5.002 को 29 फरवरी, 1996 को नए प्रोटोटाइप फीचर के साथ जारी किया गया था। इसने मॉड्यूल लेखकों को सबरूटीन्स बनाने की अनुमति दी जो पर्ल शेल निर्मित की तरह व्यवहार करते थे। पर्ल 5.003 को सुरक्षा रिलीज़ के रूप में 25 जून 1996 को रिलीज़ किया गया था।[30] पर्ल 5 इतिहास की सबसे महत्वपूर्ण घटनाओं में से एक भाषा के बाहर घटित हुई और यह इसके मॉड्यूल समर्थन का परिणाम था। 26 अक्टूबर 1995 को, CPAN (CPAN) को पर्ल भाषा और पर्ल मॉड्यूल के लिए एक सॉफ्टवेयर रिपॉजिटरी के रूप में स्थापित किया गया था; मई 2017 तक, इसमें 35,190 वितरणों में 185,178 से अधिक मॉड्यूल हैं, जो 13,071 से अधिक लेखकों द्वारा लिखे गए हैं, और दुनिया भर में 245 से अधिक स्थानों पर नजर आते हैं।[31] पर्ल 5.004 को 15 मई, 1997 को जारी किया गया था, और इसमें अन्य बातों के अलावा, यूनिवर्सल पैकेज सम्मिलितथा, जिसमें पर्ल को एक आधार वस्तु दी गई थी जिससे सभी वर्ग (कंप्यूटर प्रोग्रामिंग) स्वचालित रूप से प्राप्त हुए थे और मॉड्यूल के संस्करणों की आवश्यकता की क्षमता थी। एक अन्य महत्वपूर्ण विकास CGI.pm मॉड्यूल का समावेश था,[32] जिसने कॉमन गेटवे इंटरफेस के रूप में पर्ल की लोकप्रियता में योगदान दिया।[33] पर्ल 5.004 ने माइक्रोसॉफ़्ट विंडोज़, बेल लैब्स, क्यूएनएक्स और एमिगाओएस से प्लान 9 के लिए समर्थन जोड़ा।[32]
पर्ल 5.005 को 22 जुलाई 1998 को जारी किया गया था। इस रिलीज में रेगुलर एक्सप्रेशन इंजन में कई सुधार, बैकएंड में नए हुक सम्मिलित थे। B::*
मॉड्यूल, द qr//
रेगेक्स उद्धरण ऑपरेटर, अन्य नए कोर मॉड्यूल का एक बड़ा चयन, और BeOS समेत कई और ऑपरेटिंग सिस्टम के लिए अतिरिक्त समर्थन।[34]
2000–2020
Major version[29] | Latest update[35] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
5.4 | 1999-04-29 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
5.5 | 2004-02-23 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
5.6 | 2003-11-15 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
5.8 | 2008-12-14 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
5.10 | 2009-08-22 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
5.12 | 2012-11-10 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
5.14 | 2013-03-10 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
5.16 | 2013-03-11 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
5.18 | 2014-10-01 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
5.20 | 2015-09-12 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
5.22 | 2017-07-15 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
5.24 | 2018-04-14 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
5.26 | 2018-11-29 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
5.28 | 2020-06-01 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
5.30 | 2020-06-01 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
5.32 | 2021-01-23 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
5.34 | 2022-03-13 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
5.36 | 2022-05-28 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
5.37 | 2022-10-20 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
7.0 | 2023? | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Old version </छोटा>
Older version, still maintained Current stable version Latest preview version Future release |
पर्ल 5.6 को 22 मार्च, 2000 को जारी किया गया था। प्रमुख परिवर्तनों में 64-बिट कंप्यूटिंग|64-बिट समर्थन, यूनिकोड स्ट्रिंग प्रतिनिधित्व, 2 GiB से अधिक फ़ाइलों के लिए समर्थन और हमारा कीवर्ड सम्मिलित हैं।[36][37] पर्ल 5.6 को विकसित करते समय, सॉफ्टवेयर वर्जनिंग स्कीम को अन्य ओपन सोर्स प्रोजेक्ट्स के समान एक में बदलने का निर्णय लिया गया था; 5.005_63 के बाद, अगला संस्करण 5.5.640 बन गया, विकास संस्करणों की योजनाओं के लिए विषम संख्याएँ और स्थिर संस्करण सम संख्याएँ हैं।[38] 2000 में, वाल ने समुदाय से पर्ल के एक नए संस्करण के लिए सुझावों का आह्वान किया। इस प्रक्रिया के परिणामस्वरूप 361 RFC (टिप्पणियों के लिए अनुरोध) दस्तावेज़ तैयार हुए जिनका उपयोग पर्ल 6 के विकास में मार्गदर्शन के लिए किया जाना था। 2001 में,[39] पर्ल 6 के लिए सर्वनाश पर काम शुरू हुआ, दस्तावेजों की एक श्रृंखला जो परिवर्तन अनुरोधों को सारांशित करने और पर्ल की अगली पीढ़ी के डिजाइन को प्रस्तुत करने के लिए थी। उन्हें औपचारिक दस्तावेज़ के अतिरिक्त RFC के डाइजेस्ट के रूप में प्रस्तुत किया गया था। इस बिंदु पर, पर्ल 6 केवल एक भाषा के विवरण के रूप में अस्तित्व में था।[citation needed] पर्ल 5.8 पहली बार 18 जुलाई, 2002 को जारी किया गया था, और तब से लगभग वार्षिक अद्यतन किया गया था। पर्ल 5.8 ने यूनिकोड समर्थन में सुधार किया, एक नया I/O कार्यान्वयन जोड़ा, एक नया थ्रेड कार्यान्वयन जोड़ा, संख्यात्मक सटीकता में सुधार किया, और कई नए मॉड्यूल जोड़े।[40] 2013 तक यह संस्करण अभी भी पर्ल का सबसे लोकप्रिय संस्करण बना हुआ है और इसका उपयोग Red Hat 5, Suse 10, Solaris 10, HP-UX 11.31 और AIX 5 द्वारा किया जाता है।
2004 में, सारांश पर काम शुरू हुआ – दस्तावेज़ जो मूल रूप से सर्वनाश को सारांशित करते थे, लेकिन जो पर्ल 6 भाषा के लिए विनिर्देश बन गए। फरवरी 2005 में, ऑड्रे टैंग ने पग (प्रोग्रामिंग) पर काम करना शुरू किया, हास्केल (प्रोग्रामिंग भाषा) में लिखा गया एक पर्ल 6 दुभाषिया।[41] पर्ल 6 को वास्तविकता बनाने की दिशा में यह पहला ठोस प्रयास था। यह प्रयास 2006 में ठप हो गया।[42] PONIE पर्ल ऑन न्यू इंटरनल इंजन का संक्षिप्त नाम है। PONIE प्रोजेक्ट 2003 से 2006 तक अस्तित्व में था और पर्ल 5 और पर्ल 6 के बीच एक सेतु बनना था। यह Parrot वर्चुअल मशीन, पर्ल तोता आभासी मशीन पर चलने के लिए पर्ल 5 दुभाषिया को फिर से लिखने का एक प्रयास था। लक्ष्य दुनिया भर की हजारों कंपनियों में पर्ल 5 कोड की लाखों लाइनों का भविष्य सुनिश्चित करना था।[43] PONIE परियोजना 2006 में समाप्त हो गई और अब इसे सक्रिय रूप से विकसित नहीं किया जा रहा है। PONIE के हिस्से के रूप में पर्ल 5 दुभाषिया में किए गए कुछ सुधारों को उस परियोजना में जोड़ दिया गया था।[44] 18 दिसम्बर 2007 को पर्ल 1.0, पर्ल 5.10.0 की 20वीं वर्षगांठ जारी की गई। पर्ल 5.10.0 में उल्लेखनीय नई विशेषताएं सम्मिलित हैं, जो इसे पर्ल 6 के करीब लाती हैं। इनमें एक स्विच स्टेटमेंट (जिसे दिया गया / कब कहा जाता है), रेगुलर एक्सप्रेशन अपडेट और स्मार्ट मैच ऑपरेटर (~~) सम्मिलित हैं।[45][46] इसी समय के आसपास, तोता आभासी मशीन के साथ मिलकर विकसित, स्वर्ग के रूप में ज्ञात पर्ल 6 के एक और कार्यान्वयन पर विकास शुरू हुआ। नवंबर 2009 तक, Rakudo Perl की मासिक रिलीज़ नियमित रूप से होती रही है और अब यह पर्ल 6 का सबसे पूर्ण कार्यान्वयन है।
पर्ल 5 की विकास प्रक्रिया में एक बड़ा परिवर्तन पर्ल 5.11 के साथ हुआ; विकास समुदाय स्थिर रिलीज़ के वार्षिक शेड्यूल के साथ, विकास रिलीज़ के मासिक रिलीज़ चक्र में बदल गया है। उस योजना के अनुसार, बगफिक्स पॉइंट रिलीज़ हर तीन महीने में स्थिर रिलीज़ का पालन करेंगे।[citation needed]
12 अप्रैल 2010 को पर्ल 5.12.0 जारी किया गया। उल्लेखनीय कोर संवर्द्धन में नए शामिल हैं package NAME VERSION
सिंटैक्स, यादा यादा ऑपरेटर (प्लेसहोल्डर कोड को चिह्नित करने का इरादा है जो अभी तक लागू नहीं हुआ है), निहित सख्ती, पूर्ण Y2038 अनुपालन, रेगेक्स रूपांतरण ओवरलोडिंग, DTrace समर्थन और यूनिकोड 5.2।[47]
14 मई, 2011 को पर्ल 5.14 को JSON बिल्ट-इन सपोर्ट के साथ रिलीज़ किया गया था।[48]
20 मई 2012 को पर्ल 5.16 जारी किया गया था। उल्लेखनीय नई सुविधाओं में पर्ल के दिए गए संस्करण को निर्दिष्ट करने की क्षमता सम्मिलित है, जो कि अनुकरण करना चाहता है, जिससे उपयोगकर्ता अपने पर्ल के संस्करण को अपग्रेड कर सकते हैं, लेकिन फिर भी पुरानी स्क्रिप्ट चलाते हैं जो सामान्य रूप से असंगत होती हैं।Cite error: Closing </ref>
missing for <ref>
tag विशेष रूप से, यह वाक्यांश विकास की एक शैली का वर्णन करता है जो सीपीएएन के उपयोग को गले लगाता है, भाषा में हाल के विकास का लाभ उठाता है, और उच्च गुणवत्ता कोड बनाने के लिए कठोर है। संदर्भ>प्रस्तावना (आधुनिक पर्ल 2011-2012) Archived September 28, 2012, at the Wayback Machine. मॉडर्नपर्लबुक्स डॉट कॉम। 2013-07-17 को पुनःप्राप्त। </ रेफरी> आधुनिक पर्ल पुस्तक के दौरान रेफरी>मॉडर्न पर्ल 2011-2012 क्रोमैटिक द्वारा संस्करण | गोमेद नियॉन प्रेस Archived December 22, 2011, at the Wayback Machine. Onyxneon.com। 2013-07-17 को पुनःप्राप्त।</ref> इस विचार के सबसे दृश्यमान मानक-वाहक हो सकते हैं, अन्य समूह जैसे प्रबुद्ध पर्ल संगठन रेफरी>"प्रबुद्ध पर्ल". प्रबुद्ध पर्ल. Archived from the original on February 5, 2014. Retrieved September 28, 2012.</ref> ने कारण उठाया है।
2012 और 2013 के अंत में, पर्ल 5 के लिए वैकल्पिक कार्यान्वयन के लिए कई परियोजनाएं शुरू हुईं: Rakudo Perl टीम द्वारा Raku (प्रोग्रामिंग भाषा) में Perl5, रेफरी>"YAPC::NA 2013 - जून 3-5, ऑस्टिन, टेक्सास". Yapcna.org. June 4, 2013. Archived from the original on June 22, 2013. Retrieved April 11, 2014.</रेफरी>moeस्टीवन लिटिल और दोस्तों द्वारा,[49] p2[50] Reini Urban के अंतर्गत Perl11 टीम द्वारा,gperlद्वारा goccy,[51] तथाrperl, विल ब्रैसवेल के नेतृत्व में एक किकस्टार्टर परियोजना और Perll11 परियोजना से संबद्ध है।[52]
2020 आगे
जून 2020 में, #Perl_7 को पर्ल 5 के उत्तराधिकारी के रूप में घोषित किया गया था।[53] पर्ल 7 शुरू में 2021 की पहली छमाही में रिलीज होने की उम्मीद के साथ पर्ल 5.32 पर आधारित होना था, और उम्मीदवारों को जल्द ही रिलीज करना था।[54] इस योजना को मई 2021 में बिना किसी रिलीज़ समय सीमा या पर्ल 5 के संस्करण के निर्दिष्ट आधार रेखा के रूप में उपयोग के लिए संशोधित किया गया था।[55] पर्ल 7 के जारी होने पर, पर्ल 5 का दीर्घकालिक रखरखाव किया जाएगा। समर्थित पर्ल 5 संस्करण चूंकि महत्वपूर्ण सुरक्षा और बग फिक्स प्राप्त करना जारी रखेंगे।[56]
प्रतीक
ऊंट
O'Reilly Media द्वारा प्रकाशित प्रोग्रामिंग पर्ल, कवर पर एक साँड़नी की तस्वीर पेश करता है और इसे आमतौर पर कैमल बुक कहा जाता है।[57] यह छवि टी-शर्ट और अन्य कपड़ों की वस्तुओं पर दिखने वाले पर्ल के साथ-साथ एक सामान्य हैकर (प्रोग्रामर उपसंस्कृति) प्रतीक का एक अनौपचारिक प्रतीक बन गई है।[citation needed]
ओ'रेली एक ट्रेडमार्क के रूप में छवि का मालिक है, लेकिन इसे गैर-व्यावसायिक उपयोग के लिए लाइसेंस देता है, जिसके लिए केवल एक पावती और www.perl.com के लिंक की आवश्यकता होती है। व्यावसायिक उपयोग के लिए लाइसेंस देने का निर्णय मामला-दर-मामला आधार पर लिया जाता है।[58] ओ'रेली गैर-वाणिज्यिक साइटों के लिए प्रोग्रामिंग रिपब्लिक ऑफ पर्ल लोगो और पर्ल का उपयोग करने वाली किसी भी साइट के लिए पर्ल द्वारा संचालित बटन भी प्रदान करता है।[58]
प्याज
पर्ल फाउंडेशन के पास एक वैकल्पिक प्रतीक, एक प्याज है, जिसे वह अपनी सहायक कंपनियों, Perl Mongers, PerlMonks, Perl.org, और अन्य को लाइसेंस देता है।[59] प्रतीक मोती प्याज पर एक दृश्य वाक्य है।[60]
रैप्टर
Mojolicious के निर्माता, सेबस्टियन रिडेल ने एक Dromaeosauridae को दर्शाने वाला एक लोगो बनाया, जो CC-SA लाइसेंस, संस्करण 4.0 के तहत उपलब्ध है।[61] रैप्टर का एनालॉग मैट एस ट्राउट द्वारा 2010 में शुरू की गई बातचीत की एक श्रृंखला से आता है।[62]
सिंहावलोकन
वाल के अनुसार पर्ल के दो स्लोगन हैं। पहला है इसे करने के एक से अधिक तरीके हैं, जिन्हें आमतौर पर TMTOWTDI के नाम से जाना जाता है। दूसरा नारा है आसान चीजें आसान होनी चाहिए और कठिन चीजें संभव होनी चाहिए।[14]
विशेषताएं
पर्ल की समग्र संरचना सी से मोटे तौर पर प्राप्त होती है। पर्ल प्रकृति में प्रक्रियात्मक प्रोग्रामिंग है, चर (प्रोग्रामिंग) एस, अभिव्यक्ति (प्रोग्रामिंग), कार्य विवरण्स, कोष्ठक-सीमांकित ब्लॉक (प्रोग्रामिंग) एस, नियंत्रण संरचना्स और सबरूटीन्स के साथ।[63]
पर्ल शेल प्रोग्रामिंग से भी फीचर लेता है। सभी वेरिएबल्स को अग्रणी सिगिल (कंप्यूटर प्रोग्रामिंग) के साथ चिह्नित किया गया है, जो वेरिएबल्स को चर प्रक्षेप सीधे स्ट्रिंग (कंप्यूटर साइंस) में होने की अनुमति देता है। हालांकि, शेल के विपरीत, पर्ल वेरिएबल्स के सभी एक्सेस पर सिगिल का उपयोग करता है, और सिगिल का उपयोग करने वाली अधिकांश अन्य प्रोग्रामिंग भाषाओं के विपरीत, सिगिल वेरिएबल के प्रकार को नहीं बल्कि अभिव्यक्ति के प्रकार को दर्शाता है। तो उदाहरण के लिए, जबकि एक सरणी को सिगिल @ द्वारा दर्शाया गया है (उदाहरण के लिए @arrayname
), सरणी के एक व्यक्तिगत सदस्य को स्केलर सिगिल $ (उदाहरण के लिए $arrayname[3]
). पर्ल में कई बिल्ट-इन फ़ंक्शंस भी हैं जो शेल प्रोग्रामिंग में अक्सर उपयोग किए जाने वाले टूल प्रदान करते हैं (हालांकि इनमें से कई टूल शेल के बाहरी प्रोग्राम द्वारा कार्यान्वित किए जाते हैं) जैसे आरोही क्रम, और ऑपरेटिंग सिस्टम सुविधाओं को कॉल करना।[citation needed]
पर्ल AWK से साहचर्य सरणी (साहचर्य सरणियाँ) और sed से नियमित अभिव्यक्तियाँ लेता है। ये कई पार्सिंग, टेक्स्ट-हैंडलिंग और डेटा-प्रबंधन कार्यों को सरल करते हैं। लिस्प (प्रोग्रामिंग भाषा) के साथ साझा किया गया एक ब्लॉक में अंतिम मूल्य का निहित रिटर्न स्टेटमेंट है, और सभी स्टेटमेंट ऐसे एक्सप्रेशन भी हैं जिनका उपयोग स्वयं बड़े एक्सप्रेशन में किया जा सकता है।[citation needed]
पर्ल 5 में ऐसी विशेषताएं जोड़ी गई हैं जो जटिल डेटा संरचनाओं, प्रथम श्रेणी के कार्यों (अर्थात् मूल्यों के रूप में क्लोजर (कंप्यूटर विज्ञान)) और एक वस्तु-उन्मुख प्रोग्रामिंग मॉडल का समर्थन करती हैं। इनमें संदर्भ (कंप्यूटर विज्ञान), पैकेज, क्लास-आधारित गतिशील प्रेषण और कार्यक्षेत्र (प्रोग्रामिंग) शामिल हैं, साथ ही कंपाइलर निर्देश (उदाहरण के लिए, strict
निर्देश (प्रोग्रामिंग))। पर्ल 5 के साथ पेश की गई एक प्रमुख अतिरिक्त सुविधा कोड को पुन: प्रयोज्य मॉड्यूल के रूप में पैकेज करने की क्षमता थी। वॉल ने बाद में कहा कि पर्ल 5 के मॉड्यूल सिस्टम का पूरा उद्देश्य पर्ल कोर के बजाय पर्ल संस्कृति के विकास को प्रोत्साहित करना था।[64]
पर्ल के सभी संस्करण स्वचालित टाइप सिस्टम | डेटा-टाइपिंग और स्वचालित मेमोरी प्रबंधन करते हैं। दुभाषिया प्रोग्राम में प्रत्येक डेटा ऑब्जेक्ट के प्रकार और कंप्यूटर डेटा भंडारण आवश्यकताओं को जानता है; यह संदर्भ गणना का उपयोग करके आवश्यकतानुसार उनके लिए भंडारण आवंटित और मुक्त करता है (इसलिए यह मैन्युअल हस्तक्षेप के बिना सर्कुलर निर्भरता को हटा नहीं सकता है)। कानूनी प्रकार के रूपांतरण - उदाहरण के लिए, संख्या से स्ट्रिंग में रूपांतरण - स्वचालित रूप से रन टाइम (कार्यक्रम जीवनचक्र चरण) पर किए जाते हैं; अवैध प्रकार के रूपांतरण घातक त्रुटियाँ हैं।[citation needed]
डिजाइन
पर्ल के डिजाइन को कंप्यूटर उद्योग में तीन व्यापक रुझानों की प्रतिक्रिया के रूप में समझा जा सकता है: गिरती हार्डवेयर लागत, बढ़ती श्रम लागत और संकलक प्रौद्योगिकी में सुधार। पहले की कई कंप्यूटर भाषाएँ, जैसे कि फोरट्रान और सी, का उद्देश्य महंगे कंप्यूटर हार्डवेयर का कुशल उपयोग करना था। इसके विपरीत, पर्ल को डिजाइन किया गया था ताकि कंप्यूटर प्रोग्रामर अधिक तेज़ी से और आसानी से प्रोग्राम लिख सकें।[65]
पर्ल में कई विशेषताएं हैं जो अधिक सी पी यू और मेमोरी आवश्यकताओं की कीमत पर प्रोग्रामर के कार्य को आसान बनाती हैं। इनमें स्वचालित स्मृति प्रबंधन सम्मिलित है; गतिशील टाइपिंग; तार, सूचियाँ और हैश; नियमित अभिव्यक्ति; आत्मनिरीक्षण टाइप करें; और एक eval()
समारोह। पर्ल नो बिल्ट-इन लिमिट्स के सिद्धांत का पालन करता है,[57]जीरो वन इन्फिनिटी नियम के समान एक विचार।[citation needed]
वॉल को एक भाषाविद् के रूप में प्रशिक्षित किया गया था, और पर्ल का डिज़ाइन भाषाई सिद्धांतों द्वारा बहुत अधिक सूचित किया गया है। उदाहरणों में हफ़मैन कोडिंग (सामान्य निर्माण छोटा होना चाहिए), अच्छा अंत-भार (महत्वपूर्ण जानकारी पहले आनी चाहिए), और भाषा आदिम का एक बड़ा संग्रह सम्मिलित है। पर्ल भाषा निर्माण का समर्थन करता है जो मनुष्यों के लिए लिखने के लिए संक्षिप्त और स्वाभाविक है, यहां तक कि जहां वे पर्ल दुभाषिया को जटिल करते हैं।[66]
पर्ल का सिंटेक्स (प्रोग्रामिंग भाषाएं) इस विचार को दर्शाता है कि जो चीजें अलग हैं उन्हें अलग दिखना चाहिए।[67] उदाहरण के लिए, स्केलर, सरणियाँ और हैश के अलग-अलग प्रमुख सिगिल हैं। ऐरे इंडेक्स और हैश कुंजियाँ विभिन्न प्रकार के ब्रेसिज़ का उपयोग करती हैं। स्ट्रिंग्स और नियमित अभिव्यक्तियों के अलग-अलग मानक सीमांकक होते हैं। इस दृष्टिकोण को लिस्प (प्रोग्रामिंग भाषा) जैसी भाषा से अलग किया जा सकता है, जहां सभी उद्देश्यों के लिए सरल और सार्वभौमिक एस-अभिव्यक्ति से बना एक ही मूल सिंटैक्स का उपयोग किया जाता है।[citation needed]
पर्ल किसी विशेष प्रोग्रामिंग प्रतिमान (प्रक्रियात्मक प्रोग्रामिंग, वस्तु उन्मुख कार्यकर्म|ऑब्जेक्ट-ओरिएंटेड, कार्यात्मक प्रोग्रामिंग, या अन्य) को लागू नहीं करता है या यहां तक कि प्रोग्रामर को उनमें से किसी एक को चुनने की आवश्यकता नहीं होती है।[citation needed]
पर्ल भाषा और इसके आस-पास के समुदाय और संस्कृति दोनों के लिए एक व्यापक व्यावहारिक झुकाव है। प्रोग्रामिंग पर्ल की प्रस्तावना शुरू होती है: पर्ल आपका काम पूरा करने के लिए एक भाषा है।[14]इसका एक परिणाम यह है कि पर्ल एक सुव्यवस्थित भाषा नहीं है। इसमें कई विशेषताएं शामिल हैं, इसके नियमों के अपवादों को सहन करता है, और वाक्यात्मक अस्पष्टताओं को हल करने के लिए अनुमानों को नियोजित करता है। कंपाइलर की क्षमाशील प्रकृति के कारण, कभी-कभी बग को ढूंढना मुश्किल हो सकता है। पर्ल के फ़ंक्शन प्रलेखन सूची और स्केलर संदर्भों में अंतर्निहित फ़ंक्शंस के भिन्न व्यवहार पर टिप्पणी करते हुए कहते हैं, सामान्य तौर पर, वे वही करते हैं जो आप चाहते हैं, जब तक कि आप स्थिरता नहीं चाहते।[68]
पर्ल 5 के माध्यम से पर्ल संस्करणों के लिए पर्ल भाषा के लिए कोई लिखित औपचारिक विनिर्देश या मानक सम्मिलित नहीं है, और पर्ल के वर्तमान संस्करण के लिए कोई बनाने की कोई योजना नहीं है। दुभाषिया का केवल एक ही कार्यान्वयन हुआ है, और इसके साथ ही भाषा का भी विकास हुआ है। वह दुभाषिया, अपने कार्यात्मक परीक्षणों के साथ, भाषा के वास्तविक विनिर्देश के रूप में खड़ा होता है। पर्ल 6, तथापि, एक विशिष्टता के साथ शुरू हुआ,[69] और कई परियोजनाएं[70] लक्ष्य कुछ या सभी विशिष्टताओं को लागू करना है।[citation needed]
अनुप्रयोग
पर्ल के पास कई और विविध अनुप्रयोग हैं, जो कई मानक और तृतीय-पक्ष मॉड्यूल की उपलब्धता से जटिल हैं।
पर्ल का उपयोग मुख्य रूप से कॉमन गेटवे इंटरफ़ेस स्क्रिप्ट लिखने के लिए किया गया है: पर्ल में लिखी गई बड़ी परियोजनाओं में cPanel, Slash (वेबलॉग सिस्टम), Bugzilla, Request Tracker, TWiki, और चल प्रकार शामिल हैं; पर्ल का बड़े पैमाने पर उपयोग करने वाली उच्च-ट्रैफ़िक वेबसाइटों में Priceline.com, Craigslist, शामिल हैं।[71] इंटरनेट मूवी डेटाबेस,[72] लाइवजर्नल, डकडकगो,[73][74] Slashdot करने और टिकटमास्टर। यह PHP या पायथन (प्रोग्रामिंग लैंग्वेज) के बदले वेब विकास के लिए लोकप्रिय LAMP (सॉफ्टवेयर बंडल) टेक्नोलॉजी स्टैक का एक वैकल्पिक घटक भी है। डेबियन लिनक्स वितरण में पर्ल का व्यापक रूप से सिस्टम प्रोग्रामिंग भाषा के रूप में उपयोग किया जाता है।[75] पर्ल को अक्सर एक गोंद भाषा के रूप में प्रयोग किया जाता है, जो सिस्टम और इंटरफेस को एक साथ जोड़ता है जिसे विशेष रूप से इंटरऑपरेट करने के लिए डिज़ाइन नहीं किया गया था, और डेटा मंगिंग के लिए,[76] यानी रिपोर्ट बनाने जैसे कार्यों के लिए बड़ी मात्रा में डेटा को परिवर्तित या संसाधित करना। वास्तव में, ये शक्तियाँ घनिष्ठ रूप से जुड़ी हुई हैं। संयोजन पर्ल को सिस्टम प्रशासकों के लिए एक लोकप्रिय सर्व-उद्देश्यीय भाषा बनाता है, विशेष रूप से क्योंकि छोटे प्रोग्राम, जिन्हें अक्सर एक-लाइनर कार्यक्रम कहा जाता है, में प्रवेश किया जा सकता है और एक ही कमांड लाइन इंटरफेस पर चलाया जा सकता है।[citation needed] पर्ल कोड को माइक्रोसॉफ्ट विंडोज और यूनिक्स में पोर्टेबल बनाया जा सकता है; इस तरह के कोड का उपयोग अक्सर सॉफ्टवेयर के आपूर्तिकर्ताओं द्वारा किया जाता है (दोनों वाणिज्यिक ऑफ-द-शेल्फ और बीस्पोक) सॉफ्टवेयर निर्माण और परिनियोजन-स्क्रिप्ट की पैकेजिंग और रखरखाव को आसान बनाने के लिए।[citation needed] Tk (ढांचा)|Perl/Tk और wxPerl आमतौर पर पर्ल स्क्रिप्ट में ग्राफिकल यूजर इंटरफेस जोड़ने के लिए उपयोग किए जाते हैं।
कार्यान्वयन
पर्ल को एक कोर इंटरप्रेटर के रूप में लागू किया गया है, जिसे सी में लिखा गया है, साथ में पर्ल और सी में लिखे मॉड्यूल के एक बड़े संग्रह के साथ। As of 2010[update], दुभाषिया C कोड की 150,000 पंक्तियों का है और विशिष्ट मशीन आर्किटेक्चर पर 1 एमबी निष्पादन योग्य के लिए संकलित करता है। वैकल्पिक रूप से, दुभाषिया को एक लिंक लाइब्रेरी में संकलित किया जा सकता है और अन्य कार्यक्रमों में एम्बेड किया जा सकता है। वितरण में लगभग 500 मॉड्यूल हैं, जिसमें पर्ल की 200,000 लाइनें और C कोड की अतिरिक्त 350,000 लाइनें सम्मिलित हैं (मॉड्यूल में अधिकांश C कोड में अक्षरों को सांकेतिक अक्षरों में बदलना टेबल होते हैं)।[citation needed]
इंटरप्रेटर में ऑब्जेक्ट-ओरिएंटेड आर्किटेक्चर होता है। पर्ल भाषा के सभी तत्व - स्केलर, सरणियाँ, हैश, कोडरेफ़्स, फ़ाइल संभाल - दुभाषिया में संरचना (सी प्रोग्रामिंग भाषा) द्वारा दर्शाए गए हैं। इन संरचनाओं पर संचालन मैक्रो (कंप्यूटर विज्ञान), टाइपपीफ और कार्यों के एक बड़े संग्रह द्वारा परिभाषित किया गया है; ये पर्ल सी अप्लिकेशन प्रोग्रामिंग अंतरफलक का गठन करते हैं। पर्ल एपीआई शुरुआत न करने वालों के लिए आश्चर्यजनक हो सकती है, लेकिन इसके प्रवेश बिंदु एक सुसंगत नामकरण योजना का पालन करते हैं, जो इसका उपयोग करने वालों को मार्गदर्शन प्रदान करता है।[citation needed]
एक पर्ल दुभाषिया का जीवन मोटे तौर पर एक संकलन चरण और एक रन चरण में विभाजित होता है।[77] पर्ल में, चरण दुभाषिया के जीवन-चक्र में प्रमुख चरण हैं। प्रत्येक दुभाषिया प्रत्येक चरण से केवल एक बार गुजरता है, और चरण एक निश्चित क्रम में अनुसरण करते हैं।[citation needed]
पर्ल के संकलन चरण में जो कुछ होता है वह संकलन है, और पर्ल के रन चरण में जो कुछ होता है वह निष्पादन है, लेकिन महत्वपूर्ण अपवाद हैं। संकलन चरण के दौरान पर्ल कोड को निष्पादित करने के लिए पर्ल अपनी क्षमता का महत्वपूर्ण उपयोग करता है। पर्ल रन चरण में संकलन में भी देरी करेगा। वे शब्द जो उस प्रकार के प्रसंस्करण को इंगित करते हैं जो वास्तव में किसी भी समय हो रहा है, संकलन समय और रन टाइम हैं। संकलन चरण के दौरान अधिकांश बिंदुओं पर पर्ल संकलन समय में है, लेकिन रन चरण के दौरान संकलन समय भी दर्ज किया जा सकता है। एक स्ट्रिंग तर्क में कोड के लिए संकलन समय पास किया गया eval
बिल्ट-इन रन चरण के दौरान होता है। संकलन चरण के दौरान पर्ल अक्सर रन टाइम में होता है और अधिकांश रन चरण रन टाइम में खर्च करता है। कोड में BEGIN
ब्लॉक रन टाइम पर निष्पादित होते हैं लेकिन संकलन चरण में।
संकलन समय पर, दुभाषिया पर्ल कोड को सार वाक्य रचना का पेड़ में पार्स करता है। रनटाइम पर, यह ट्री ट्रैवर्सल द्वारा प्रोग्राम को निष्पादित करता है। पाठ को केवल एक बार पार्स किया जाता है, और सिंटैक्स ट्री निष्पादित होने से पहले अनुकूलन के अधीन होता है, ताकि निष्पादन अपेक्षाकृत कुशल हो। सिंटैक्स ट्री पर संकलन-समय के अनुकूलन में निरंतर तह और संदर्भ प्रसार शामिल है, लेकिन पीपहोल अनुकूलन भी किया जाता है।[78]
पर्ल में एक ट्यूरिंग-पूर्ण औपचारिक व्याकरण है क्योंकि संकलन चरण के दौरान निष्पादित रन-टाइम कोड से पार्सिंग प्रभावित हो सकती है।[79] इसलिए, पर्ल को सीधे लेक्स प्रोग्रामिंग टूल/वाईएसीसी लेक्सिकल विश्लेषण/पार्सर संयोजन द्वारा पार्स नहीं किया जा सकता है। इसके बजाय, दुभाषिया अपने स्वयं के लेक्सर को लागू करता है, जो भाषा में अस्पष्टताओं को हल करने के लिए एक संशोधित जीएनयू बाइसन पार्सर के साथ समन्वय करता है।[citation needed]
यह अक्सर कहा जाता है कि केवल पर्ल ही पर्ल को पार्स कर सकता है,[80] जिसका अर्थ है कि केवल पर्ल दुभाषिया (perl
) पर्ल भाषा (पर्ल) को पार्स कर सकता है, लेकिन सामान्य रूप से यह भी सच नहीं है। क्योंकि पर्ल दुभाषिया अपने संकलन चरण के दौरान एक ट्यूरिंग मशीन का अनुकरण कर सकता है, इसे हर मामले में पार्सिंग को पूरा करने के लिए हॉल्टिंग समस्या को तय करने की आवश्यकता होगी। यह एक दीर्घकालिक परिणाम है कि हॉल्टिंग समस्या अनिर्णीत है, और इसलिए पर्ल भी हमेशा पर्ल को पार्स नहीं कर सकता है। पर्ल अपने स्वयं के संकलन चरण में उपयोगकर्ता को अपनी पूर्ण प्रोग्रामिंग शक्ति तक पहुंच प्रदान करने का असामान्य विकल्प बनाता है। सैद्धांतिक शुद्धता के मामले में लागत अधिक है, लेकिन व्यावहारिक असुविधा दुर्लभ प्रतीत होती है।[81]
पर्ल को पार्स करने वाले अन्य प्रोग्राम, जैसे स्थैतिक कार्यक्रम विश्लेषण|सोर्स-कोड एनालाइजर और इंडेंट स्टाइल|ऑटो-इंडेंटर्स, को न केवल अस्पष्ट भाषा निर्माण के साथ बल्कि सामान्य मामले में पर्ल पार्सिंग की पुनरावर्ती भाषा के साथ भी संघर्ष करना पड़ता है। एडम केनेडी (प्रोग्रामर) की पीपीआई परियोजना ने निष्पादन योग्य कोड के रूप में पर्ल को पार्स करने के बजाय एक दस्तावेज़ के रूप में पर्ल कोड को पार्स करने पर ध्यान केंद्रित किया (दस्तावेज़ के रूप में इसकी अखंडता बनाए रखना)। यह केनेडी ही थे जिन्होंने पहली बार अनुमान लगाया था कि पार्सिंग पर्ल 'हॉल्टिंग प्रॉब्लम' से पीड़ित है,[82] जो बाद में साबित हुआ।[83]
पर्ल को कोर पर्ल भाषा के लिए 250,000 से अधिक कार्यात्मक परीक्षण और कोर मॉड्यूल के लिए 250,000 से अधिक कार्यात्मक परीक्षण के साथ वितरित किया गया है। ये सामान्य निर्माण प्रक्रिया के हिस्से के रूप में चलते हैं और व्यापक रूप से दुभाषिया और इसके मूल मॉड्यूल का प्रयोग करते हैं। पर्ल डेवलपर्स यह सुनिश्चित करने के लिए कार्यात्मक परीक्षणों पर भरोसा करते हैं कि दुभाषिया में परिवर्तन सॉफ्टवेयर बग पेश नहीं करते हैं; इसके अतिरिक्त, पर्ल उपयोगकर्ता जो देखते हैं कि दुभाषिया उनके सिस्टम पर अपने कार्यात्मक परीक्षणों को पास करता है, उनमें उच्च स्तर का विश्वास हो सकता है कि यह ठीक से काम कर रहा है।[citation needed]
उपलब्धता
पर्ल कलात्मक लाइसेंस 1.0 दोनों के तहत दोहरी लाइसेंस प्राप्त है[5][6] और जीएनयू जनरल पब्लिक लाइसेंस[7] अधिकांश ऑपरेटिंग सिस्टम के लिए वितरण उपलब्ध हैं। यह यूनिक्स और यूनिक्स जैसी प्रणालियों पर विशेष रूप से प्रचलित है, लेकिन इसे अधिकांश आधुनिक (और कई अप्रचलित) प्लेटफार्मों पर पोर्ट किया गया है। केवल छह के साथ[citation needed] रिपोर्ट किए गए अपवाद, पर्ल को सभी पॉज़िक्स-संगत, या अन्यथा-यूनिक्स-संगत, प्लेटफ़ॉर्म पर स्रोत कोड से संकलित किया जा सकता है।[84] क्लासिक मैक ओएस पर्यावरण के लिए आवश्यक असामान्य परिवर्तनों के कारण, मैकपर्ल नामक एक विशेष पोर्ट को स्वतंत्र रूप से भेज दिया गया था।[85] सीपीएएन समर्थित प्लेटफार्मों की एक पूरी सूची रखता है जिसमें प्रत्येक पर उपलब्ध वितरण के लिंक होते हैं।[86] सीपीएएन सार्वजनिक रूप से उपलब्ध पर्ल मॉड्यूल का स्रोत भी है जो मूल पर्ल वितरण का हिस्सा नहीं हैं।[citation needed]
विंडोज
Microsoft Windows के उपयोगकर्ता आमतौर पर Win32 के लिए Perl के मूल बाइनरी वितरणों में से एक को स्थापित करते हैं, जो आमतौर पर Strawberry Perl या ActivePerl है। विंडोज के तहत सोर्स कोड से पर्ल का संकलन संभव है, लेकिन अधिकांश इंस्टॉलेशन में अपेक्षित सी कंपाइलर और बिल्ड टूल्स की कमी है। इससे सीपीएएन से मॉड्यूल स्थापित करना भी मुश्किल हो जाता है, खासतौर पर वे जो आंशिक रूप से सी में लिखे गए हैं।[citation needed] ActivePerl ActiveState से एक बंद-स्रोत वितरण है जिसमें नियमित रिलीज़ होते हैं जो कोर पर्ल रिलीज़ को ट्रैक करते हैं।[87] वितरण में पहले पर्ल पैकेज मैनेजर (PPM) शामिल था,[88] सामान्य पर्ल मॉड्यूल के उपयोग को स्थापित करने, हटाने, अपग्रेड करने और प्रबंधित करने के लिए एक लोकप्रिय टूल; हालाँकि, इस उपकरण को ActivePerl 5.28 के रूप में बंद कर दिया गया था।[89] पर्ल भाषा को लागू करने वाला एक विंडोज स्क्रिप्ट होस्ट (डब्ल्यूएसएच) इंजन पर्लस्क्रिप्ट भी शामिल है। विजुअल पर्ल एक एक्टिवस्टेट टूल है जो पर्ल को विजुअल स्टूडियो .NET डेवलपमेंट सूट में जोड़ता है। एक VBScript-to-Perl कन्वर्टर, साथ ही विंडोज के लिए एक पर्ल कंपाइलर, और पर्ल के लिए awk और sed के कन्वर्टर्स भी इस कंपनी द्वारा तैयार किए गए हैं और विंडोज के लिए एक्टिवस्टेट सीडी में शामिल हैं, जिसमें उनके सभी डिस्ट्रीब्यूशन और कोमोडो शामिल हैं। 2002 में और बाद में यूनिक्स/लिनक्स/पॉज़िक्स वेरिएंट पर आईडीई और सभी को छोड़कर सभी।[90] स्ट्राबेरी पर्ल विंडोज के लिए एक ओपन-सोर्स डिस्ट्रीब्यूशन है। जनवरी 2008 से इसे नियमित, त्रैमासिक रिलीज़ किया गया है, जिसमें फीडबैक और अनुरोध के रूप में नए मॉड्यूल शामिल हैं। Strawberry Perl का उद्देश्य XS मॉड्यूल को संकलित करने सहित अन्य प्लेटफार्मों पर मानक पर्ल वितरण जैसे मॉड्यूल स्थापित करने में सक्षम होना है।[citation needed] विंडोज के तहत पर्ल को चलाने का एक और तरीका cygwin एमुलेशन लेयर है। सिग्विन विंडोज पर एक यूनिक्स जैसा वातावरण प्रदान करता है, और सिग्विन सेटअप प्रोग्राम में पर्ल और सीपीएएन दोनों मानक पूर्व-संकलित पैकेज के रूप में उपलब्ध हैं। चूंकि साइगविन में जीएनयू कंपाइलर संग्रह भी शामिल है, इसलिए पर्ल को स्रोत से संकलित करना भी संभव है।[citation needed] अन्य स्क्रिप्टिंग टूल के साथ निर्देशिका में कई विंडोज रिसोर्स किट में एक पर्ल निष्पादन योग्य शामिल है।[citation needed] पर्ल का कार्यान्वयन एमकेएस टूलकिट, इंटरिक्स (यूनिक्स के लिए विंडोज़ सेवाओं के पूर्व कार्यान्वयन का आधार) और यूडब्ल्यूआईएन के साथ आता है।[citation needed]
डाटाबेस इंटरफेस
पर्ल की टेक्स्ट-हैंडलिंग क्षमताओं का उपयोग SQL प्रश्न उत्पन्न करने के लिए किया जा सकता है; सरणियाँ, हैश और स्वचालित मेमोरी प्रबंधन, लौटाए गए डेटा को एकत्र करना और संसाधित करना आसान बनाता है। उदाहरण के लिए, टिम बन्स के पर्ल डीबीआई एप्लिकेशन प्रोग्रामिंग इंटरफ़ेस (एपीआई) में, एपीआई के तर्क एसक्यूएल प्रश्नों का पाठ हो सकते हैं; इस प्रकार एक ही समय में कई भाषाओं में प्रोग्राम करना संभव है (उदाहरण के लिए, यहाँ दस्तावेज़ में HTML, जावास्क्रिप्ट और SQL का उपयोग करके वेब पृष्ठ बनाने के लिए)। प्रत्येक SQL क्वेरी को प्रोग्रामेटिक रूप से अनुकूलित करने के लिए पर्ल वेरिएबल इंटरपोलेशन का उपयोग, और प्रत्येक SQL क्वेरी से परिणामी डेटा सेट को प्रोग्रामेटिक रूप से होल्ड करने के लिए संरचनाओं के रूप में पर्ल सरणियों या हैश के विनिर्देश, बड़ी मात्रा में डेटा को संभालने के लिए एक उच्च-स्तरीय तंत्र की अनुमति देता है। पर्ल सबप्रोग्राम द्वारा पोस्ट-प्रोसेसिंग के लिए।[91]
पर्ल के शुरुआती संस्करणों में, दुभाषिया को ग्राहक की ओर डेटाबेस लाइब्रेरी के साथ जोड़कर डेटाबेस इंटरफेस बनाया गया था। यह पर्याप्त रूप से कठिन था कि यह केवल कुछ सबसे महत्वपूर्ण और सबसे व्यापक रूप से उपयोग किए जाने वाले डेटाबेस के लिए किया गया था, और इसने परिणामी डेटा को सीमित कर दिया। perl
एक समय में केवल एक डेटाबेस इंटरफ़ेस का उपयोग करने के लिए निष्पादन योग्य।[92]
पर्ल 5 में, डेटाबेस इंटरफेस पर्ल डीबीआई मॉड्यूल द्वारा कार्यान्वित किए जाते हैं। DBI (डेटाबेस इंटरफ़ेस) मॉड्यूल पर्ल अनुप्रयोगों के लिए एकल, डेटाबेस-स्वतंत्र इंटरफ़ेस प्रस्तुत करता है, जबकि DBD (डेटाबेस ड्राइवर) मॉड्यूल लगभग 50 विभिन्न डेटाबेसों तक पहुँचने के विवरण को संभालता है; अधिकांश अमेरिकी राष्ट्रीय मानक संस्थान SQL डेटाबेस के लिए DBD ड्राइवर हैं।[93]
DBI डेटाबेस हैंडल और प्रश्नों के लिए कैशिंग प्रदान करता है, जो लंबे समय तक चलने वाले निष्पादन वातावरण जैसे mod_perl, में प्रदर्शन में काफी सुधार कर सकता है।[94] स्लैशडॉट प्रभाव के रूप में लोड स्पाइक्स को टालने में उच्च-वॉल्यूम सिस्टम की मदद करना।[95]
आधुनिक पर्ल अनुप्रयोगों में, विशेष रूप से कैटेलिस्ट (सॉफ्टवेयर) जैसे वेब ढांचा का उपयोग करके लिखे गए, डीबीआई मॉड्यूल का उपयोग अक्सर ऑब्जेक्ट-रिलेशनल मैपर्स जैसे डीबीआईएक्स::क्लास, क्लास::डीबीआई के माध्यम से अप्रत्यक्ष रूप से किया जाता है।[96] या गुलाब :: डीबी :: ऑब्जेक्ट[97] जो SQL प्रश्न उत्पन्न करते हैं और एप्लिकेशन लेखक को डेटा को पारदर्शी रूप से संभालते हैं।[98]
तुलनात्मक प्रदर्शन
कंप्यूटर भाषा बेंचमार्क गेम कई प्रोग्रामिंग भाषाओं में विशिष्ट प्रोग्रामिंग समस्याओं के कार्यान्वयन के प्रदर्शन की तुलना करता है।[99] सबमिट किए गए पर्ल कार्यान्वयन आमतौर पर मेमोरी-यूसेज स्पेक्ट्रम के उच्च अंत की ओर प्रदर्शन करते हैं और विविध गति परिणाम देते हैं। बेंचमार्क गेम में पर्ल का प्रदर्शन व्याख्या की गई भाषाओं के लिए विशिष्ट है।[100] संकलित भाषाओं में समान कार्यक्रमों की तुलना में बड़े पर्ल प्रोग्राम अधिक धीरे-धीरे शुरू होते हैं क्योंकि पर्ल को हर बार चलने पर स्रोत को संकलित करना पड़ता है। येट अदर पर्ल कॉन्फ़्रेंस | वाईएपीसी::यूरोप 2005 सम्मेलन और उसके बाद के लेख ए टाइमली स्टार्ट में एक वार्ता में, जीन-लुइस लेरॉय ने पाया कि उनके पर्ल कार्यक्रमों को चलने में अपेक्षा से अधिक समय लगा क्योंकि पर्ल दुभाषिया ने अपने भीतर मॉड्यूल खोजने में महत्वपूर्ण समय बिताया। ओवर-लार्ज में पथ शामिल है।[101] जावा, पायथन और रूबी के विपरीत, पर्ल के पास पूर्व-संकलन के लिए केवल प्रायोगिक समर्थन है।[102] इसलिए, पर्ल प्रोग्राम हर निष्पादन पर इस ओवरहेड पेनल्टी का भुगतान करते हैं। विशिष्ट कार्यक्रमों का रन चरण इतना लंबा है कि परिशोधित स्टार्टअप समय पर्याप्त नहीं है, लेकिन बहुत कम निष्पादन समय को मापने वाले बेंचमार्क इस ओवरहेड के कारण तिरछे होने की संभावना है।[103] इस स्थिति को सुधारने के लिए कई उपकरण पेश किए गए हैं। पहला ऐसा उपकरण अपाचे का mod_perl था, जिसने सबसे आम कारणों में से एक को संबोधित करने की मांग की थी कि छोटे पर्ल प्रोग्राम तेजी से लागू किए गए थे: कॉमन गेटवे इंटरफेस वर्ल्ड वाइड वेब डेवलपमेंट। ActiveState, Microsoft ISAPI के माध्यम से, समान प्रदर्शन सुधार प्रदान करता है।[104] एक बार पर्ल कोड संकलित हो जाने के बाद, निष्पादन चरण के दौरान अतिरिक्त ओवरहेड होता है जो आमतौर पर सी या सी ++ जैसी संकलित भाषाओं में लिखे गए प्रोग्राम के लिए मौजूद नहीं होता है। ऐसे ओवरहेड के उदाहरणों में बाईटकोड व्याख्या, संदर्भ-गिनती स्मृति प्रबंधन और गतिशील टाइप-चेकिंग सम्मिलित हैं।[105]
अनुकूलन
सबसे महत्वपूर्ण दिनचर्या अन्य भाषाओं (जैसे सी (प्रोग्रामिंग भाषा)) में लिखी जा सकती है, जिसे सरल इनलाइन मॉड्यूल या अधिक जटिल, लेकिन लचीला, एक्सएस (पर्ल) तंत्र के माध्यम से पर्ल से जोड़ा जा सकता है।[106]
पर्ल 5
पर्ल 5, जिसे आमतौर पर पर्ल कहा जाता है, सक्रिय रूप से विकसित होना जारी है। पर्ल 5.12.0 अप्रैल 2010 में पर्ल 6 के डिजाइन से प्रभावित कुछ नई विशेषताओं के साथ जारी किया गया था,[47][107] इसके बाद पर्ल 5.14.1 (17 जून, 2011 को जारी), पर्ल 5.16.1 (9 अगस्त, 2012 को जारी किया गया।[108]), और पर्ल 5.18.0 (18 मई, 2013 को जारी)। पर्ल 5 विकास संस्करण मासिक आधार पर जारी किए जाते हैं, प्रमुख रिलीज प्रति वर्ष एक बार आते हैं।[109] अन्य प्रोग्रामिंग भाषाओं के लिए इसी तरह की खोजों की तुलना में, पर्ल प्रोग्रामिंग के लिए इंटरनेट खोजों का सापेक्षिक अनुपात 2005 में लगभग 10% से घटकर 2011 में लगभग 2% और 2020 में लगभग 0.7% हो गया।[110]
राकू (पर्ल 6)
2000 ओ'रेली ओपन सोर्स कन्वेंशन में, जॉन ऑरवेंट ने एक प्रमुख नई भाषा-पहल के लिए मामला बनाया।[112] इसके कारण पर्ल 6 कहे जाने वाले भाषा के नए स्वरूप पर काम शुरू करने का निर्णय लिया गया। पर्ल समुदाय से बड़े पैमाने पर नई भाषा सुविधाओं के प्रस्ताव मांगे गए, जिन्होंने टिप्पणियों के लिए 300 से अधिक अनुरोध प्रस्तुत किए।[113]
वॉल ने अगले कुछ साल आरएफसी को पचाने और उन्हें पर्ल 6 के लिए एक सुसंगत ढांचे में संश्लेषित करने में बिताए। उन्होंने एपोकैलिप्स नामक दस्तावेजों की एक श्रृंखला में पर्ल 6 के लिए अपना डिजाइन प्रस्तुत किया। – प्रोग्रामिंग पर्ल में अध्यायों के अनुरूप क्रमांकित। As of January 2011[update], पर्ल 6 के विकासशील विनिर्देश को सिनॉप्सेस नामक डिज़ाइन दस्तावेज़ों में समझाया गया था – सर्वनाश के अनुरूप गिने गए।[114] ब्रैडली एम. कुह्न द्वारा थीसिस वर्क, वॉल द्वारा निरीक्षण, पर्ल के रनटाइम के रूप में जावा वर्चुअल मशीन के संभावित उपयोग पर विचार किया।[115] कुह्न की थीसिस ने इस दृष्टिकोण को समस्याग्रस्त दिखाया। 2001 में, यह निर्णय लिया गया कि पर्ल 6 पारट आभासी मशीन नामक क्रॉस-लैंग्वेज वर्चुअल मशीन पर चलेगा। इसका मतलब यह होगा कि तोते को लक्षित करने वाली अन्य भाषाओं को सीपीएएन तक मूल पहुंच प्राप्त होगी, जिससे क्रॉस-लैंग्वेज विकास के कुछ स्तर की अनुमति होगी।[citation needed] 2005 में, ऑड्रे टैंग ने पग्स (प्रोग्रामिंग) प्रोजेक्ट बनाया, हास्केल (प्रोग्रामिंग लैंग्वेज) में पर्ल 6 का कार्यान्वयन। इसने पर्ल 6 भाषा (वास्तविक कार्यान्वयन के विकास से अलग) के लिए एक परीक्षण मंच के रूप में कार्य किया, और जारी रहेगा। – भाषा डिजाइनरों को अन्वेषण करने की अनुमति देना। पग्स परियोजना ने मुफ़्त बाते #राकू आईआरसी चैनल के आसपास केंद्रित एक सक्रिय पर्ल/हास्केल क्रॉस-लैंग्वेज समुदाय को जन्म दिया। पर्ल 6 डिज़ाइन टीम द्वारा कई कार्यात्मक प्रोग्रामिंग प्रभावों को अवशोषित किया गया।[116] 2012 में, पर्ल 6 का विकास मुख्य रूप से दो कंपाइलरों पर केंद्रित था:[117]
- Rakudo, Parrot वर्चुअल मशीन और Java वर्चुअल मशीन पर चलने वाला कार्यान्वयन।[118]
- Niecza, जो सामान्य भाषा रनटाइम को टारगेट करती है।
2013 में, MoarVM ("मेटामॉडल ऑन ए रनटाइम"), मुख्य रूप से राकुडो के लिए डिज़ाइन की गई एक सी भाषा-आधारित वर्चुअल मशीन की घोषणा की गई थी।[119] अक्टूबर 2019 में, पर्ल 6 का नाम बदलकर राकू कर दिया गया।[120]
As of 2017[update] केवल राकुडो कार्यान्वयन और MoarVM सक्रिय विकास के अधीन हैं, और अन्य आभासी मशीनें, जैसे कि जावा वर्चुअल मशीन और जावास्क्रिप्ट, समर्थित हैं।[121]
पर्ल 7
पर्ल 7 की घोषणा 24 जून 2020 को द पर्ल कॉन्फ्रेंस इन द क्लाउड में पर्ल 5 के उत्तराधिकारी के रूप में की गई थी।[54][53]पर्ल 5.32 के आधार पर, पर्ल 7 को आधुनिक पर्ल 5 कोड के साथ बैकवर्ड_कम्पैटिबिलिटी बनाने की योजना बनाई गई थी; पर्ल 5 कोड, बिना बॉयलरप्लेट कोड (प्राग्मा) हेडर को जोड़ने की जरूरत है use compat::perl5;
संगत रहने के लिए, लेकिन आधुनिक कोड कुछ बॉयलरप्लेट को गिरा सकता है।
हालांकि, पर्ल 7 पर जाने की योजना ने अधिक चर्चा की, और पर्ल संचालन समिति ने स्क्रिप्ट के लिए पिछड़े संगतता वाले मुद्दों से बचने के लिए इसे रद्द कर दिया, जो प्रागमा और मॉड्यूल के लिए नहीं लिखे गए थे जो कि पर्ल 7 में डिफ़ॉल्ट बन जाएंगे। पर्ल 7 होगा केवल तभी सामने आते हैं जब डेवलपर्स एक प्रमुख रिलीज़ अपग्रेड को वारंट करने के लिए पर्याप्त सुविधाएँ जोड़ते हैं।[122]
पर्ल समुदाय
पर्ल की संस्कृति और समुदाय भाषा के साथ ही विकसित हुए हैं। यूज़नेट पहला सार्वजनिक स्थान था जिसमें पर्ल को पेश किया गया था, लेकिन इसके विकास के दौरान, वर्ल्ड वाइड वेब की शुरूआत सहित इंटरनेट-आधारित सेवाओं के विस्तार के विकास से पर्ल के समुदाय को आकार मिला। पर्ल को घेरने वाला समुदाय, वास्तव में, वॉल की पहली प्याज की स्थिति का विषय था।[123]
प्याज की स्थिति
पर्ल और उसके समुदाय की प्रगति पर वॉल के वार्षिक मुख्य-शैली के सारांश का नाम प्याज का राज्य है। वे पर्ल की संस्कृति, व्यापक हैकर संस्कृति, वॉल की भाषाई पृष्ठभूमि, कभी-कभी उनके पारिवारिक जीवन और कभी-कभी उनकी ईसाई पृष्ठभूमि के संदर्भों को नियोजित करते हुए उनके हॉलमार्क हास्य की विशेषता है।[124] प्रत्येक वार्ता पहले विभिन्न पर्ल सम्मेलनों में दी जाती है और अंततः इसे ऑनलाइन भी प्रकाशित किया जाता है।
पर्ल शगल
जेएपीएच
ईमेल, यूज़नेट, और संदेश बोर्ड पोस्टिंग में, बस एक और पर्ल हैकर (जेएपीएच) प्रोग्राम एक आम चलन है, जिसकी शुरुआत रान्डल एल. श्वार्ट्ज ने की थी, जो शुरुआती पेशेवर पर्ल प्रशिक्षकों में से एक थे।[125] पर्ल कल्चर की भाषा में, पर्ल प्रोग्रामर्स को पर्ल हैकर्स के रूप में जाना जाता है, और इससे जस्ट अदर पर्ल हैकर वाक्यांश को प्रिंट करने के लिए छोटे प्रोग्राम लिखने का अभ्यास प्राप्त होता है। मूल अवधारणा की भावना में, ये प्रोग्राम मध्यम रूप से अस्पष्ट हैं और एक ईमेल या यूज़नेट संदेश के हस्ताक्षर में फिट होने के लिए काफी कम हैं। Schwartz द्वारा विकसित कैनोनिकल JAPH में अंत में अल्पविराम सम्मिलित है, हालांकि इसे अक्सर छोड़ दिया जाता है।[126]
पर्ल गोल्फ़
पर्ल गोल्फ एक पर्ल कार्यक्रम में उपयोग किए जाने वाले पात्रों (कुंजी स्ट्रोक) की संख्या को कम से कम कम करने का शगल है, ठीक उसी तरह जिस तरह से गोल्फ खिलाड़ी एक दौर में जितना संभव हो उतना शॉट लेने की कोशिश करते हैं। वाक्यांश का पहला प्रयोग[127] एक नवागंतुक को सिखाने के लिए पैदल यात्री कोड और अनुभवी पर्ल प्रोग्रामर को खुश करने के लिए संक्षिप्त हैक के बीच अंतर पर जोर दिया, बाद वाले का एक उदाहरण JAPHs है जो पहले से ही यूज़नेट पोस्टिंग और अन्य जगहों पर हस्ताक्षर में उपयोग किए गए थे। इसी तरह के स्टंट पिछले दशकों में भाषा एपीएल (प्रोग्रामिंग भाषा) में एक अनाम शगल थे। आरएसए (एल्गोरिदम) एन्क्रिप्शन का प्रदर्शन करने वाले प्रोग्राम को लिखने के लिए पर्ल के उपयोग ने इस शगल में व्यापक और व्यावहारिक रुचि को प्रेरित किया।[128] बाद के वर्षों में, शब्द कोड गोल्फ को अन्य भाषाओं में शगल के लिए लागू किया गया है।[129] जुलाई 2000 में मोंटेरे, कैलिफोर्निया में पर्ल सम्मेलन 4.0 में एक पर्ल गोल्फ सर्वनाश आयोजित किया गया था।
उलझन
सी के साथ, 1990 के दशक के अंत में अस्पष्ट कोड प्रतियोगिताएं एक प्रसिद्ध शगल थीं। अस्पष्ट पर्ल प्रतियोगिता 1996 से 2000 तक द पर्ल जर्नल द्वारा आयोजित एक प्रतियोगिता थी जिसने पर्ल के वाक्य-विन्यास लचीलेपन का एक प्रमुख गुण बनाया। पुरस्कार सबसे शक्तिशाली जैसी श्रेणियों के लिए दिए गए थे - अंतरिक्ष का कुशल उपयोग करने वाले कार्यक्रम - और यूज़नेट हस्ताक्षर ब्लॉक की शैली में 76 वर्णों की चार पंक्तियों में फिट होने वाले कार्यक्रमों के लिए सर्वश्रेष्ठ चार-पंक्ति हस्ताक्षर।[130]
कविता
पर्ल कविता कविता लिखने का अभ्यास है जिसे कानूनी पर्ल कोड के रूप में संकलित किया जा सकता है, उदाहरण के लिए ब्लैक पर्ल के रूप में जाना जाने वाला टुकड़ा। पर्ल भाषा में उपयोग किए जाने वाले अंग्रेजी शब्दों की बड़ी संख्या से पर्ल कविता संभव हो गई है। PerlMonks पर समुदाय के लिए नई कविताएँ नियमित रूप से प्रस्तुत की जाती हैं।[131]
आईआरसी पर पर्ल
कई इंटरनेट रिले चैट चैनल पर्ल और इसके कुछ मॉड्यूल के लिए समर्थन प्रदान करते हैं।
IRC Network | Channels |
---|---|
irc.libera.chat | #perl #raku |
irc.perl.org | #moose #poe #catalyst #dbix-class #perl-help #distzilla #epo #corehackers #sdl #win32 #toolchain #padre #dancer |
irc.slashnet.org | #perlmonks |
irc.oftc.net | #perl #debian-perl (packaging Perl modules for Debian) |
irc.efnet.net | #perlhelp |
irc.rizon.net | #perl |
सीपीएएन एक्मे
सीपीएएन पर विशुद्ध रूप से मनोरंजन के लिए लिखे गए कोड के कई उदाहरण भी हैं। Lingua::Romana::Perligata
, उदाहरण के लिए, लैटिन में प्रोग्राम लिखने की अनुमति देता है।[132] इस तरह के एक प्रोग्राम के निष्पादन पर, मॉड्यूल अपने स्रोत कोड को नियमित पर्ल में अनुवादित करता है और इसे चलाता है।[citation needed]
पर्ल समुदाय ने Acme Corporation नामस्थान को ऐसे मॉड्यूल के लिए अलग रखा है जो प्रकृति में मज़ेदार हैं (लेकिन इसका दायरा खोजपूर्ण या प्रायोगिक कोड या किसी अन्य मॉड्यूल को सम्मिलित करने के लिए चौड़ा हो गया है जो कभी भी उत्पादन में उपयोग करने के लिए नहीं है)। एक्मे के कुछ मॉड्यूल जानबूझकर मनोरंजक तरीके से लागू किए गए हैं। यह भी सम्मिलित है Acme::Bleach
, में पहले मॉड्यूल में से एक Acme::
नामस्थान,[133] जो कार्यक्रम के स्रोत कोड को सफेद करने की अनुमति देता है (यानी, सभी वर्णों को सफेद जगह से बदल दिया जाता है) और फिर भी काम करता है।[citation needed]
उदाहरण कोड
पर्ल के पुराने संस्करणों में, नमस्ते दुनिया प्रोग्राम को इस प्रकार लिखा जाएगा:
<वाक्यविन्यास प्रकाश लैंग = पर्ल> हेलो, वर्ल्ड प्रिंट करें!\n ; </वाक्यविन्यास हाइलाइट>
यहां एक अधिक जटिल पर्ल प्रोग्राम है, जो किसी दिए गए शुरुआती मान से सेकंड की गणना करता है:
<वाक्यविन्यास प्रकाश लैंग = पर्ल>
- !/usr/bin/perl
सख्त उपयोग; चेतावनियों का उपयोग करें;
मेरा ($ शेष, $ कुल);
$शेष = $कुल = शिफ्ट(@ARGV);
STDOUT->ऑटोफ्लश(1);
जबकि ($ शेष) {
प्रिंटफ (शेष %s/%s \r , $remaining--, $total); नींद 1;
}
प्रिंट \n; </वाक्यविन्यास हाइलाइट>
पर्ल दुभाषिया का उपयोग कमांड लाइन पर एकबारगी स्क्रिप्ट के लिए भी किया जा सकता है। निम्न उदाहरण (जैसा कि श-संगत शेल से लिया गया है, जैसे कि बैश) वर्तमान निर्देशिका में रॉबर्ट के लिए .txt के साथ समाप्त होने वाली सभी फाइलों में स्ट्रिंग बॉब का अनुवाद करता है:
<वाक्यविन्यास लैंग = कंसोल> $ perl -i.bak -lp -e 'एस/बॉब/रॉबर्ट/जी' *.txt </वाक्यविन्यास हाइलाइट>
आलोचना
पर्ल को इसके आलोचकों द्वारा विक्ट: लाइन शोर और केवल-लिखने वाली भाषा के रूप में संदर्भित किया गया है। इस तरह का सबसे पहला उल्लेख रैंडल एल. श्वार्ट्ज द्वारा लिखी गई पर्ल 4 ट्यूटोरियल पुस्तक लर्निंग पर्ल के पहले संस्करण में था।[134] जिसके पहले अध्याय में वह कहता है: हां, कभी-कभी पर्ल बिन बुलाए लाइन शोर की तरह दिखता है, लेकिन अनुभवी पर्ल प्रोग्रामर के लिए, यह जीवन में एक मिशन के साथ अंततः,ड लाइन शोर जैसा दिखता है।[135] उन्होंने यह भी कहा कि उचित सावधानी के साथ कोडिंग करके पर्ल केवल लिखने वाली भाषा होने के आरोप से बचा जा सकता है।[135]पर्ल सिंहावलोकन दस्तावेज़perlintroबताता है कि बिल्ट-इन मैजिक स्केलर वेरिएबल (कंप्यूटर साइंस) के नाम विराम चिह्न या लाइन शोर की तरह दिखते हैं।चूंकि, अंग्रेजी मॉड्यूल लंबे और छोटे अंग्रेजी विकल्प दोनों प्रदान करता है।perlstyleदस्तावेज़ बताता है कि रेगुलर एक्सप्रेशंस में लाइन नॉइज़ का उपयोग करके कम किया जा सकता है /x
व्हाइटस्पेस जोड़ने के लिए संशोधक।[136]
पर्ल 6 एफएक्यू के अनुसार, पर्ल 6 को उन सामान्य संदिग्धों को कम करने के लिए डिज़ाइन किया गया था जो पर्ल 5 आलोचकों से लाइन शोर का दावा करते हैं, जिसमें अधिकांश विराम चिह्नों को हटाना और रेगेक्स सिंटैक्स का स्वच्छताकरण सम्मिलित है।[137] पर्ल 6 एफएक्यू में यह भी कहा गया है कि जिसे कभी-कभी पर्ल के लाइन शोर के रूप में संदर्भित किया जाता है, वह भाषा का वास्तविक वाक्य-विन्यास है जैसे कि क्रियावाचक संज्ञा्स और पूर्वसर्ग और पदस्थापन अंग्रेजी भाषा का हिस्सा हैं।[137]दिसंबर 2012 की ब्लॉग पोस्टिंग में, यह दावा करने के बावजूद कि राकुडो पर्ल 6 विफल हो गया है और तब तक विफल रहेगा जब तक कि इसे कुछ वयस्क पर्यवेक्षण नहीं मिल जाता, रंगीन (प्रोग्रामर) ने कहा कि पर्ल 6 के डिजाइन में एक अच्छी तरह से परिभाषित व्याकरण के साथ-साथ एक बेहतर प्रकार भी है। प्रणाली, एक बुद्धिमान मेटामॉडल, मेटाऑपरेटर्स के साथ एक एकीकृत वस्तु प्रणाली, और संदर्भ की एक स्पष्ट प्रणाली जो व्यापक आलस्य जैसी बारीकियों के लिए प्रदान करती है।[138] उन्होंने यह भी कहा कि पर्ल 6 में एक सुसंगतता और निरंतरता है जो पर्ल 5 में नहीं है।[138]
यह भी देखें
संदर्भ
- ↑ 1.0 1.1 1.2 Ashton, Elaine (1999). "पर्ल और इसकी संस्कृति की समयरेखा (v3.0_0505)". Archived from the original on January 11, 2013. Retrieved March 12, 2004.
- ↑ "perl 5.36.0 is now available". www.nntp.perl.org. Retrieved May 30, 2022.
- ↑ "Perl 5.34.1 is now available!". www.nntp.perl.org. Retrieved March 13, 2022.
- ↑ "perl 5.37.6 is now available". www.nntp.perl.org. Retrieved November 21, 2022.
- ↑ 5.0 5.1 ""कलात्मक लाइसेंस" - dev.perl.org". dev.perl.org. Archived from the original on July 24, 2018. Retrieved June 24, 2016.
- ↑ 6.0 6.1 Artistic Archived July 25, 2018, at the Wayback Machine - file on the Perl 5 git repository
- ↑ 7.0 7.1 "पर्ल लाइसेंसिंग". dev.perl.org. Archived from the original on January 22, 2011. Retrieved January 8, 2011.
- ↑ Larry Wall (December 12, 2007). "Programming is Hard, Let's Go Scripting..." Archived from the original on July 28, 2017. Retrieved April 14, 2019.
All language designers have their occasional idiosyncracies. I'm just better at it than most.
- ↑ "पर्ल के बारे में". perl.org. Archived from the original on November 6, 2015. Retrieved April 20, 2013.
"पर्ल" भाषाओं का एक परिवार है, "पर्ल 6" परिवार का हिस्सा है, लेकिन यह एक अलग भाषा है जिसकी अपनी विकास टीम है। इसके अस्तित्व का "पर्ल 5" के निरंतर विकास पर कोई महत्वपूर्ण प्रभाव नहीं है।
- ↑ "राकू का रास्ता". GitHub. Archived from the original on November 12, 2020. Retrieved January 14, 2021.
यह दस्तावेज़ पर्ल 6 का नाम बदलकर राकू करने के लिए उठाए जाने वाले कदमों का वर्णन करता है
- ↑ Lapworth, Leo. "पर्ल के बारे में सामान्य प्रश्न". Perl FAQ. Perl.org. Archived from the original on May 28, 2013. Retrieved February 24, 2012.
- ↑ "पर्ल (1): प्रैक्टिकल एक्सट्रैक्शन/रिपोर्ट लैंग्वेज - लिनक्स मैन पेज". Linux.die.net. Archived from the original on June 3, 2013. Retrieved July 23, 2013.
- ↑ Sheppard, Doug (October 16, 2000). "शुरुआती लोगों के लिए पर्ल का परिचय". dev.perl.org. Archived from the original on June 5, 2011. Retrieved January 8, 2011.
- ↑ 14.0 14.1 14.2 14.3 Wall, Larry; Christiansen, Tom; Orwant, Jon (July 2000). प्रोग्रामिंग पर्ल, तीसरा संस्करण. O'Reilly Media. ISBN 978-0-596-00027-1.
- ↑ "भाषा मूल्यांकन". Archived from the original on March 10, 2015. Retrieved January 30, 2015.
पर्ल का सबसे मजबूत बिंदु पाठ्य, रेखा-उन्मुख डेटा स्वरूपों के पैटर्न-निर्देशित प्रसंस्करण के लिए इसकी अत्यधिक शक्तिशाली अंतर्निहित सुविधाएं हैं; यह इस पर बेजोड़ है।
- ↑ "क्या लिखने के लिए आपने पर्ल का इस्तेमाल किया?!". January 24, 2008. Archived from the original on February 4, 2015. Retrieved February 4, 2015.
पर्ल हमेशा किसी भी कार्य के लिए पसंदीदा भाषा रही है जिसमें पैटर्न-मिलान इनपुट शामिल होता है
- ↑ "पर्ल का महत्व". Archived from the original on February 2, 2015. Retrieved February 4, 2015.
टेक्स्ट को प्रोसेस करने की पर्ल की अद्वितीय क्षमता...
- ↑ Smith, Roderick W. (June 21, 2002). उन्नत लिनक्स नेटवर्किंग. Addison-Wesley Professional. p. 594. ISBN 978-0-201-77423-8.
- ↑ Sheppard, Doug (October 16, 2000). "शुरुआती लोगों के लिए पर्ल का परिचय". O'Reilly Media. Archived from the original on June 4, 2008. Retrieved July 27, 2008.
- ↑ Raymond, Eric (December 23, 2003). "स्विस आर्मी चेनसॉ". The Jargon File. Archived from the original on August 14, 2018. Retrieved November 29, 2014.
- ↑ Leonard, Andrew. "पर्ल की खुशी". Salon.com. Archived from the original on July 6, 2012. Retrieved June 5, 2012.
- ↑ "प्रोग्राम कैसे मापे जाते हैं | कंप्यूटर भाषा बेंचमार्क गेम". benchmarksgame-team.pages.debian.net. Archived from the original on July 12, 2020. Retrieved October 5, 2020.
- ↑ "पर्ल की 3 पंक्तियों में RSA - Everything2.com". everything2.com. Archived from the original on October 8, 2020. Retrieved October 5, 2020.
- ↑ Richardson, Marjorie (May 1, 1999). "लैरी वॉल, पर्ल के गुरु". Linux Journal. Archived from the original on July 20, 2013. Retrieved January 3, 2011.
- ↑ "perlfaq1: "पर्ल" और "पर्ल" में क्या अंतर है?". perldoc.perl.org - Perl 5 version 12.2 documentation. Archived from the original on May 30, 2013. Retrieved June 4, 2007.
- ↑ Schwartz, Randal; foy, brian; Phoenix, Tom (June 16, 2011). लर्निंग पर्ल. O'Reilly Media, Inc. p. 4. ISBN 978-1449313142.
पर्ल को कभी-कभी "व्यावहारिक निष्कर्षण और रिपोर्ट भाषा" कहा जाता है, हालांकि इसे अन्य विस्तारों के बीच "पैथोलॉजिकली इक्लेक्टिक बकवास लिस्टर" भी कहा जाता है। यह वास्तव में एक संक्षिप्त नाम है, एक संक्षिप्त नाम नहीं है, क्योंकि लैरी वॉल, पर्ल के निर्माता, पहले नाम और बाद में विस्तार के साथ आए थे। इसलिए "पर्ल" बड़े अक्षरों में नहीं है। इस बात पर बहस करने का कोई मतलब नहीं है कि विस्तार सही है: लैरी दोनों का समर्थन करता है।
- ↑ Wall, Larry. "पर्ल - पर्ल भाषा दुभाषिया". Perl 5 version 12.2 documentation. Archived from the original on July 1, 2013. Retrieved January 26, 2011.
- ↑ "perl.perl5.porters संग्रह". perl.org. Archived from the original on May 1, 2011. Retrieved January 13, 2011.
- ↑ 29.0 29.1 "पर्लहिस्ट — पर्ल इतिहास रिकॉर्ड". Perl 5 version 12.2 documentation. perldoc.perl.org. Archived from the original on January 13, 2011. Retrieved January 21, 2011.
{{cite web}}
: no-break space character in|title=
at position 10 (help) - ↑ "पर्ल | परिभाषा, इतिहास और तथ्य | ब्रिटानिका". www.britannica.com (in English). Retrieved June 15, 2022.
- ↑ "सीपीएएन". CPAN. Archived from the original on October 3, 2019. Retrieved May 8, 2017.
- ↑ 32.0 32.1 "perl5004delta — perl5.004 के लिए नया क्या है". Perl 5 version 12.2 documentation. perldoc.perl.org. Archived from the original on February 27, 2011. Retrieved January 8, 2011.
{{cite web}}
: no-break space character in|title=
at position 14 (help) - ↑ Patwardhan, Nathan; Siever, Ellen; Spainhour, Stephen (2002). संक्षेप में पर्ल, दूसरा संस्करण. O'Reilly Media. ISBN 978-0-596-00241-1.
- ↑ "perl5005delta - perl5.005 के लिए नया क्या है". Perl 5 version 12.2 documentation. perldoc.perl.org. Archived from the original on February 3, 2011. Retrieved January 21, 2011.
- ↑ "Perl Source". www.cpan.org. Archived from the original on June 1, 2017. Retrieved June 2, 2020.
- ↑ "perl56delta - पर्ल v5.6.0 के लिए नया क्या है". Perl 5 version 12.2 documentation. perldoc.perl.org. Archived from the original on February 2, 2011. Retrieved January 21, 2011.
- ↑ "perl56delta - पर्ल v5.6.x के लिए नया क्या है". Perl 5 version 12.2 documentation. perldoc.perl.org. Archived from the original on November 18, 2010. Retrieved January 21, 2011.
- ↑ "पर्ल | परिभाषा, इतिहास और तथ्य | ब्रिटानिका". www.britannica.com (in English). Retrieved June 15, 2022.
- ↑ Wall, Larry. "सर्वनाश 1: द अग्ली, द बैड एंड द गुड". Archived from the original on November 23, 2010. Retrieved January 8, 2011.
- ↑ "perl58delta - पर्ल v5.8.0 के लिए नया क्या है". Perl 5 version 12.2 documentation. perldoc.perl.org. Archived from the original on November 21, 2010. Retrieved January 21, 2011.
- ↑ "पग के लिए एक योजना". O'Reilly Media. March 3, 2005. Archived from the original on September 8, 2012. Retrieved January 27, 2011.
- ↑ Tang, Audrey (April 21, 2010). "पुन: दस वर्षों में पर्ल 6 को कैसे लागू करें". PerlMonks. Archived from the original on May 11, 2011. Retrieved January 3, 2011.
- ↑ Geoff Broadwell (August 8, 2005), OSCON 4.4: Inside Ponie, the Bridge from Perl 5 to Perl 6, O'Reilly ONLamp Blog, archived from the original on March 14, 2012, retrieved June 27, 2016
- ↑ Jesse Vincent (August 23, 2006), Ponie has been put out to pasture, The Perl Foundation, archived from the original on June 27, 2009, retrieved January 15, 2019
- ↑ "perl5100delta - पर्ल 5.10.0 के लिए नया क्या है". Perl 5 version 12.2 documentation. perldoc.perl.org. Archived from the original on December 21, 2010. Retrieved January 8, 2011.
- ↑ "perlsyn - पर्ल सिंटैक्स". Perl 5 version 12.2 documentation. perldoc.perl.org. Archived from the original on August 26, 2013. Retrieved January 21, 2011.
- ↑ 47.0 47.1 "perl5120delta - पर्ल v5.12.0 के लिए नया क्या है". Perl 5 version 12.2 documentation. perldoc.perl.org. Archived from the original on January 4, 2011. Retrieved January 8, 2011.
- ↑ "perl5140delta - पर्ल v5.14.0 के लिए नया क्या है - metacpan.org". metacpan.org. Archived from the original on July 25, 2018. Retrieved July 22, 2017.
- ↑ Little, Stevan (February 8, 2013). "मो क्या है (एक स्पष्टीकरण)". Blogs.perl.org. Archived from the original on December 19, 2013. Retrieved April 11, 2014.
{{cite web}}
: Text "स्टीवन लिटिल" ignored (help) - ↑ "पी 2 औषधि पर". Perl11.org. February 7, 2004. Archived from the original on September 24, 2013. Retrieved April 11, 2014.
- ↑ "goccy/gperl तरीका GitHub". GitHub.com. Archived from the original on February 23, 2015. Retrieved April 11, 2014.
- ↑ "rperl". RPerl.org. Archived from the original on October 18, 2014. Retrieved August 11, 2014.
- ↑ 53.0 53.1 "पर्ल 7 की घोषणा पर्ल कॉन्फ़्रेंस इन द क्लाउड में की गई". perlfoundation.org. June 24, 2020. Archived from the original on June 26, 2020. Retrieved June 24, 2020.
- ↑ 54.0 54.1 "पर्ल 7 की घोषणा". perl.com. June 24, 2020. Archived from the original on June 24, 2020. Retrieved June 24, 2020.
- ↑ Nicholas Clark (May 9, 2021). "संचालन परिषद की बैठक #019 2021-05-06". www.nntp.perl.org. Archived from the original on May 18, 2021. Retrieved May 17, 2021.
योजना बनी हुई है कि पर्ल 7 टक्कर होगी, लेकिन 5.34.0 जारी होने के तुरंत बाद नहीं। ... हमें नहीं लगता कि हम 12 महीनों में [पर्ल 7] पर वितरित कर सकते हैं।
- ↑ पर्ल 7d के लिए तैयारी. leanpub.com. June 24, 2020. Archived from the original on June 25, 2020. Retrieved June 24, 2020.
- ↑ 57.0 57.1 Schwartz, Randal L; Phoenix, Tom; Foy, Brian (December 6, 2007). लर्निंग पर्ल, तीसरा संस्करण. ISBN 978-0-596-00132-2.
- ↑ 58.0 58.1 "पर्ल कैमल उपयोग और ट्रेडमार्क सूचना". O'Reilly Media. Archived from the original on April 25, 2018. Retrieved January 9, 2011.
- ↑ "पर्ल ट्रेडमार्क". The Perl Foundation. Archived from the original on May 3, 2011. Retrieved January 9, 2011.
- ↑ Gillmore, Dan (October 25, 1998). "पर्ल गणराज्य". Chicago Tribune. Archived from the original on April 30, 2011. Retrieved January 10, 2011.
- ↑ Riedel, Sebastian (January 18, 2012). "पर्ल 5 रैप्टर". Sebastian Riedel. Archived from the original on June 11, 2018. Retrieved November 12, 2017.
- ↑ Trout, Matt (June 16, 2005). "वेलोसिरैप्टर की स्थिति - चरण दो". Shadowcat Systems Limited. Archived from the original on November 13, 2017. Retrieved November 12, 2017.
- ↑ Nagpal, D.P. (2010). वेब डिजाइन प्रौद्योगिकी (in English). India: S. Chand. p. 700. ISBN 978-8121927635.
- ↑ "शीर्षक अज्ञात". May 10, 1997. Usenet: 199705101952.MAA00756@wall.org.[dead link]
- ↑ "द फॉल ऑफ पर्ल, वेब की मोस्ट प्रॉमिसिंग लैंग्वेज". FastCompany. February 13, 2014.
- ↑ Wall, Larry. "पर्ल - पर्ल 5 भाषा दुभाषिया - पर्लडॉक ब्राउज़र". perldoc.perl.org. Retrieved June 24, 2021.
- ↑ Wall, Larry (March 1, 1997). "आप कहाँ से हैं?". Linux Journal. Archived from the original on December 9, 2010. Retrieved March 13, 2011.
- ↑ "perlfunc - पर्ल निर्मित कार्य". Perl 5 version 12.2 documentation. perldoc.perl.org. Archived from the original on January 6, 2011. Retrieved January 10, 2011.
- ↑ "पर्ल 6 विशिष्टता". The Perl 6 Project. Archived from the original on December 2, 2009. Retrieved January 27, 2011.
- ↑ "पर्ल 6 कंपाइलर्स". The Perl 6 Project. Archived from the original on December 2, 2009. Retrieved January 27, 2011.
- ↑ Gilmore, W. J. (2010). शुरुआती PHP और MySQL: नौसिखिए से पेशेवर तक, चौथा संस्करण. Apress. p. 484. ISBN 978-1-4302-3114-1.
- ↑ "आईएमडीबी हेल्पडेस्क: साइट चलाने के लिए आप किस सॉफ्टवेयर/हार्डवेयर का उपयोग कर रहे हैं?". Internet Movie Database. Archived from the original on March 9, 2017. Retrieved February 12, 2011.
- ↑ DuckDuckGo handles a large amount of search queries at 4.5 million queries per day . https://duckduckgo.com/traffic.html Archived February 15, 2012, at the Library of Congress Web Archives
- ↑ DuckDuckGo uses Perl https://web.archive.org/web/20101231135106/http://www.gabrielweinberg.com/blog/2009/03/duck-duck-go-architecture.html
- ↑ "पर्ल अक्सर पूछे जाने वाले प्रश्न". Archived from the original on August 6, 2019. Retrieved August 6, 2019.
डेबियन में पर्ल का काफी व्यापक रूप से उपयोग किया जाता है। पर्ल में न केवल कुछ मुख्य कार्य लिखे गए हैं, बल्कि अस्थिर में 700 से अधिक पैकेज हैं जिनके नाम में पर्ल है (मार्च 2004)।
- ↑ "पर्ल बुक्स - बुक: पर्ल के साथ डेटा मुंगिंग". Perl.org. Archived from the original on September 7, 2011. Retrieved December 30, 2010.
- ↑ A description of the Perl 5 interpreter can be found in Programming Perl, 3rd Ed., chapter 18. See particularly page 467, which carefully distinguishes run phase and compile phase from run time and compile time. Perl "time" and "phase" are often confused.
- ↑ "पर्लगट्स - पर्ल एपीआई का परिचय - पर्लडॉक ब्राउज़र". perldoc.perl.org. Retrieved January 24, 2022.
- ↑ Schwartz, Randal. "पार्सिंग पर्ल पर". Archived from the original on September 27, 2007. Retrieved January 3, 2007.
- ↑ "पर्ल जर्नल #19/9.26" (PDF). O'Reilly Media. Retrieved February 4, 2011.
- ↑ Kegler, Jeffrey (October 7, 2011). "पर्ल और पार्सिंग 11: क्या सभी पर्ल प्रोग्राम पार्स करने योग्य हैं?". Retrieved October 25, 2022.
... ऐसा लगता है कि हम बिल्कुल कुछ नहीं छोड़ रहे हैं। कोई भी कभी भी व्यवहारिक कमी नहीं दिखा पाया है
- ↑ Kennedy, Adam (2006). "PPI—पर्ल को पार्स करें, विश्लेषण करें और मैनिप्युलेट करें (पर्ल के बिना)". CPAN. Archived from the original on September 3, 2013. Retrieved September 16, 2013.
- ↑ "चावल की प्रमेय". The Perl Review. 4 (3): 23–29. Summer 2008. and "Perl is Undecidable". The Perl Review. 5: 7–11. Fall 2008., available online at Kegler, Jeffrey. "Perl and Undecidability". Archived from the original on August 17, 2009. Retrieved January 4, 2009.
- ↑ Hietaniemi, Jarkko (1998). "पर्ल पोर्ट्स (द्विआधारी वितरण)". CPAN.org. Archived from the original on April 18, 2006. Retrieved April 16, 2006.
- ↑ "मैकपर्ल पन्ने". Prime Time Freeware. 1997. Archived from the original on January 18, 2006. Retrieved January 18, 2006.
- ↑ "पर्ल पोर्ट्स (द्विआधारी वितरण)". CPAN. Archived from the original on April 18, 2006. Retrieved January 27, 2011.
- ↑ "ActivePerl विंडोज, मैक, लिनक्स, AIX, HP-UX और सोलारिस के लिए पर्ल है". ActiveState Software. Archived from the original on March 31, 2016. Retrieved January 9, 2011.
- ↑ "पीपीएम का उपयोग करना". ActiveState Software. Archived from the original on August 27, 2010. Retrieved January 9, 2011.
- ↑ "अलविदा पीपीएम, हैलो स्टेट टूल". activestate.com. July 23, 2019. Archived from the original on July 28, 2020. Retrieved April 16, 2020.
- ↑ readme.txt
- ↑ Descartes, Alligator; Bunce, Tim (2000). प्रोग्रामिंग पर्ल डीबीआई: [पर्ल के साथ डेटाबेस प्रोग्रामिंग] (1 ed.). Beijing [u.a.]: O'Reilly. ISBN 978-1-56592-699-8.
- ↑ "पर्ल प्रोग्रामिंग - प्रोग्रामिंग भाषाओं के सिद्धांत". sites.google.com. Archived from the original on October 8, 2020. Retrieved May 18, 2021.
- ↑ Bunce, Tim; Descartes, Alligator (February 4, 2000). पर्ल डीबीआई प्रोग्रामिंग: पर्ल के साथ डाटाबेस प्रोग्रामिंग (in English). "O'Reilly Media, Inc.". ISBN 978-1-4493-1536-8.
- ↑ Bekman, Stas. "Mod_perl के तहत डेटाबेस के साथ कुशल कार्य". Archived from the original on August 22, 2007. Retrieved September 1, 2007.
- ↑ Pachev, Sasha (April 10, 2007). MySQL आंतरिक को समझना: एक महान डाटाबेस की खोज और सुधार करना (in English). "O'Reilly Media, Inc.". ISBN 978-0-596-55280-0.
- ↑ "क्लास :: डीबीआई - सिंपल डेटाबेस एब्स्ट्रेक्शन - metacpan.org". metacpan.org. Archived from the original on August 6, 2020. Retrieved April 8, 2020.
- ↑ "गुलाब :: डीबी :: ऑब्जेक्ट - एक्स्टेंसिबल, उच्च प्रदर्शन ऑब्जेक्ट-रिलेशनल मैपर (ओआरएम)। - metacpan.org". metacpan.org. Archived from the original on August 6, 2020. Retrieved April 8, 2020.
- ↑ "टी एसक्यूएल डेवलपर संदर्भ पूछताछ". pdfpremiumfree.com (in English). Retrieved May 18, 2021.
- ↑ "अलीओथ: द कंप्यूटर लैंग्वेज बेंचमार्क गेम: प्रोजेक्ट इन्फो". Alioth. Archived from the original on March 25, 2013. Retrieved January 13, 2011.
- ↑ "कौन से प्रोग्राम सबसे तेज़ हैं?". Computer Language Benchmarks Game. Alioth. Archived from the original on May 17, 2013. Retrieved January 13, 2011.
- ↑ Leroy, Jean-Louis (December 1, 2005). "एक सामयिक शुरुआत". O'Reilly. Archived from the original on June 13, 2006. Retrieved May 22, 2006.
- ↑ Beattie, Malcolm & Enache Adrian (2003). "बी :: बाइटकोड पर्ल कंपाइलर का बाइटकोड बैकएंड". CPAN. Archived from the original on March 30, 2021. Retrieved September 16, 2013.
- ↑ Schwartz, Randal; foy, brian; Phoenix, Tom (June 23, 2011). लर्निंग पर्ल (in English). "O'Reilly Media, Inc.". ISBN 978-1-4493-0358-7.
- ↑ Stein, Lincoln; MacEachern, Doug (1999). पर्ल और सी के साथ अपाचे मॉड्यूल लिखना: अपाचे एपीआई और मॉड_पर्ल (in English). "O'Reilly Media, Inc.". ISBN 978-1-56592-567-0.
- ↑ Bekman, Stas; Cholet, Eric (2003). प्रैक्टिकल मोड_पर्ल (in English). "O'Reilly Media, Inc.". ISBN 978-0-596-00227-5.
- ↑ Ingerson, Brian. "इनलाइन - metacpan.org". CPAN. Archived from the original on June 13, 2013. Retrieved January 26, 2011.
- ↑ "पर्ल 5.12.0 जारी - अद्यतन". Heise Media UK. April 13, 2010. Archived from the original on April 19, 2010. Retrieved January 8, 2011.
- ↑ "पर्ल 5.16.1 जारी!". August 9, 2012. Archived from the original on December 2, 2012. Retrieved August 26, 2012.
- ↑ "अजेय पर्ल रिलीज़ ट्रेन?". LWN.net. February 29, 2012. Archived from the original on August 22, 2016. Retrieved March 28, 2012.
- ↑ TIOBE Software Index (2020). "टीआईओबीई प्रोग्रामिंग कम्युनिटी इंडेक्स पर्ल". Archived from the original on February 25, 2018. Retrieved February 6, 2020.
- ↑ "पर्ल 6". The पर्ल 6Project. Archived from the original on February 21, 2011. Retrieved February 27, 2011.
- ↑ Torkington, Nathan. "लैरी की बात का प्रतिलेखन". nntp.perl.org. Archived from the original on May 1, 2011. Retrieved January 25, 2011.
- ↑ "Perl6 - पर्ल का भविष्य". www.java-samples.com. Retrieved May 18, 2021.
- ↑ "आधिकारिक पर्ल 6 दस्तावेज़ीकरण". The Perl 6 Project. Archived from the original on August 31, 2009. Retrieved January 25, 2011.
- ↑ Kuhn, Bradley (January 2001). "पर्ल को जावा वर्चुअल मशीन में पोर्ट करने पर विचार". University of Cincinnati. Archived from the original on March 21, 2008. Retrieved June 28, 2008.
{{cite journal}}
: Cite journal requires|journal=
(help) - ↑ Chromatic (2015). आधुनिक पर्ल (in English). Pragmatic Bookshelf. ISBN 978-1-68050-088-2.
- ↑ "पर्ल 6 कंपाइलर्स की फीचर तुलना". Archived from the original on August 11, 2017. Retrieved March 28, 2012.
- ↑ Worthington, Jonathan (July 15, 2013). "Rakudo JVM समाचार: अधिक परीक्षण, साथ ही थ्रेड और प्रॉमिस प्रोटोटाइप". 6guts. Archived from the original on October 5, 2013. Retrieved July 24, 2013.
- ↑ Worthington, Jonathan (May 31, 2013). "MoarVM: NQP और Rakudo के लिए एक वर्चुअल मशीन". 6guts. Archived from the original on July 9, 2013. Retrieved July 24, 2013.
- ↑ "नाम बदलें". Archived from the original on October 17, 2019. Retrieved November 10, 2019.
- ↑ "ऊंट". GitHub.com. Archived from the original on July 29, 2017. Retrieved September 21, 2013.
- ↑ Perl Steering Council. "पर्ल 7 का क्या हुआ?". blogs.perl.org. Retrieved July 7, 2022.
- ↑ Wall, Larry (May 22, 2014). "पर्ल कल्चर (प्याज का पहला राज्य उर्फ)". Archived from the original on May 22, 2014. Retrieved May 22, 2014.
- ↑ Larry Wall. "प्याज का दूसरा राज्य". Archived from the original on July 17, 2012. Retrieved October 12, 2012. (Search for 'church')
- ↑ Randal L. Schwartz (May 2, 1999). "एक और पर्ल हैकर कौन है?". Newsgroup: comp.lang.perl.misc. Usenet: m1hfpvh2jq.fsf@halfdome.holdit.com. Archived from the original on July 8, 2012. Retrieved December 5, 2014.
- ↑ Schwartz, Randal (March 31, 2005). "कैननिकल जेएपीएच". PerlMonks. Archived from the original on July 22, 2011. Retrieved May 16, 2011.
- ↑ Greg Bacon (May 28, 1999). "पुन: एक टुकड़ा में एक मूल्य बढ़ाना". Newsgroup: comp.lang.perl.misc. Usenet: 7imnti$mjh$1@info2.uah.edu. Archived from the original on July 7, 2011. Retrieved July 12, 2011.
- ↑ Back, Adam. "पर्ल की 5 लाइनों में आरएसए". Archived from the original on January 19, 2011. Retrieved January 10, 2011.
- ↑ "कोड गोल्फ: कोड गोल्फ क्या है?". 29degrees. 2007. Archived from the original on January 13, 2012. Retrieved November 26, 2018.
- ↑ Gallo, Felix (2003). "The Zeroth Obfuscated Perl Contest" (PDF). In Jon Orwant (ed.). Games, diversions, and Perl culture: best of the Perl journal. O'Reilly Media. Archived from the original (PDF) on November 22, 2009. Retrieved January 12, 2011.
- ↑ "पर्ल कविता". PerlMonks. Archived from the original on September 27, 2007. Retrieved January 27, 2011.
- ↑ Conway, Damian. "Lingua::Romana::Perligata -- XXI-imum Century के लिए पर्ल". Archived from the original on September 30, 2007. Retrieved June 15, 2006.
- ↑ Brocard, Leon (May 22, 2014). "पर्ल का प्रयोग करें; जर्नल ऑफ एक्मे". GrnLight.net. Archived from the original on May 22, 2014.
- ↑ "डेवलपर अद्यतन". Dr. Dobb's डेवलपर अद्यतन. Miller-Freeman. 2. 1995.
- ↑ 135.0 135.1 Schwartz, Randal L. (1993). लर्निंग पर्ल. O'Reilly & Associates. Bibcode:1993lepe.book.....S.
- ↑ "perlstyle". Perl 5 version 18.0 documentation. Perl 5 Porters and perldoc.perl.org. Archived from the original on June 26, 2013. Retrieved June 30, 2013.
- ↑ 137.0 137.1 "पर्ल 6 अकसर किये गए सवाल". Perl 6 Project. Archived from the original on July 1, 2013. Retrieved June 30, 2013.
- ↑ 138.0 138.1 chromatic (December 31, 2012). "पर्ल 5 बनाम पर्ल 6 का कार्यान्वयन". Archived from the original on July 29, 2013. Retrieved June 30, 2013.
अग्रिम पठन
- Learning Perl 6th Edition (2011), O'Reilly. Beginner-level introduction to Perl.
- Beginning Perl 1st Edition (2012), Wrox. A beginner's tutorial for those new to programming or just new to Perl.
- Modern Perl Archived December 22, 2011, at the Wayback Machine 2nd Edition (2012), Onyx Neon. Describes Modern Perl programming techniques.
- Programming Perl 4th Edition (2012), O'Reilly. The definitive Perl reference.
- Effective Perl Programming 2nd Edition (2010), Addison-Wesley. Intermediate- to advanced-level guide to writing idiomatic Perl.
- Perl Cookbook, ISBN 0-596-00313-7. Practical Perl programming examples.
- Dominus, Mark Jason (2005). Higher Order Perl. Morgan Kaufmann. ISBN 978-1-55860-701-9. Functional programming techniques in Perl.