पर्ल: Difference between revisions
No edit summary |
No edit summary |
||
(82 intermediate revisions by 6 users not shown) | |||
Line 1: | Line 1: | ||
{{short description|Interpreted programming language first released in 1987}} | {{short description|Interpreted programming language first released in 1987}}'''पर्ल''' दो उच्च-स्तरीय, सामान्य-उद्देश्य, व्याख्या की गई, डायनामिक्स प्रोग्रामिंग भाषाओं का वर्ग है। पर्ल 5 को संदर्भित करता है, लेकिन 2000 से 2019 तक इसने स्वयं पुन: डिज़ाइन की गई सह-भाषा, पर्ल 6 को भी संदर्भित किया, इससे पहले कि अक्टूबर 2019 में बाद के नाम को सामान्यतः [[राकू (प्रोग्रामिंग भाषा)]] में परिवर्तन कर दिया गया।<ref>{{cite web |url = https://www.perl.org/about.html |title = पर्ल के बारे में|publisher = perl.org |quote = "पर्ल" भाषाओं का एक परिवार है, "पर्ल 6" परिवार का हिस्सा है, लेकिन यह एक अलग भाषा है जिसकी अपनी विकास टीम है। इसके अस्तित्व का "पर्ल 5" के निरंतर विकास पर कोई महत्वपूर्ण प्रभाव नहीं है।|access-date = 2013-04-20 |archive-date = November 6, 2015 |archive-url = https://web.archive.org/web/20151106051931/https://www.perl.org/about.html |url-status = live }}</ref><ref>{{cite web |url = https://github.com/Raku/problem-solving/blob/master/solutions/language/Path-to-Raku.md |title = राकू का रास्ता|publisher = GitHub |quote = यह दस्तावेज़ पर्ल 6 का नाम बदलकर राकू करने के लिए उठाए जाने वाले कदमों का वर्णन करता है|access-date = 2021-01-14 |archive-date = November 12, 2020 |archive-url = https://web.archive.org/web/20201112035821/https://github.com/Raku/problem-solving/blob/master/solutions/language/Path-to-Raku.md |url-status = live }}</ref> | ||
{{ | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | चूंकि पर्ल का सामान्यतः संक्षिप्त रूप नहीं है,<ref>{{cite web |url = http://learn.perl.org/faq/perlfaq1.html#Whats-the-difference-between-perl-and-Perl |title = पर्ल के बारे में सामान्य प्रश्न|last = Lapworth |first = Leo |publisher = Perl.org |work = Perl FAQ |access-date = February 24, 2012 |archive-date = May 28, 2013 |archive-url = https://web.archive.org/web/20130528001715/http://learn.perl.org/faq/perlfaq1.html#Whats-the-difference-between-perl-and-Perl |url-status = live }}</ref> प्रैक्टिकल [[डेटा निकालना]] और रिपोर्टिंग भाषा सहित कई प्रकार से [[संक्षिप्त नाम]] का उपयोग किया जा रहा है।<ref>{{cite web |url = http://linux.die.net/man/1/perl |title = पर्ल (1): प्रैक्टिकल एक्सट्रैक्शन/रिपोर्ट लैंग्वेज - लिनक्स मैन पेज|publisher = Linux.die.net |access-date = 2013-07-23 |archive-date = June 3, 2013 |archive-url = https://web.archive.org/web/20130603152544/http://linux.die.net/man/1/perl |url-status = live }}</ref> पर्ल को [[लैरी वॉल]] द्वारा 1987 में सामान्य-उद्देश्य वाली [[यूनिक्स]] स्क्रिप्टिंग भाषा के रूप में विकसित किया गया था, जिससे कि रिपोर्ट प्रसंस्करण को सरल बनाया जा सके।<ref name="sheppard00">{{cite web |url = http://www.perl.com/pub/2000/10/begperl1.html |title = शुरुआती लोगों के लिए पर्ल का परिचय|last = Sheppard |first = Doug |date = 2000-10-16 |publisher = dev.perl.org |access-date = 2011-01-08 |archive-date = June 5, 2011 |archive-url = https://web.archive.org/web/20110605130400/http://www.perl.com/pub/2000/10/begperl1.html |url-status = live }}</ref> तत्पश्चात, इसमें कई परिवर्तन और संशोधन हुए हैं। राकू, जो 2000 में पर्ल 5 के नए स्वरूप के रूप में प्रारभ्म हुआ, अंततः भिन्न भाषा में विकसित हुआ। दोनों भाषाएँ भिन्न-भिन्न विकास टीमों द्वारा स्वतंत्र रूप से विकसित की जा रही हैं और उदारतापूर्वक एक-दूसरे से विचार उधार लेती हैं। | ||
| | पर्ल भाषाएँ 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> | ||
| | सीजीआई के अतिरिक्त, पर्ल 5 का उपयोग [[कार्यकारी प्रबंधक]], [[कंप्यूटर नेटवर्क प्रोग्रामिंग|नेटवर्क प्रोग्रामिंग]], वित्त, जैव सूचना विज्ञान और अन्य अनुप्रयोगों जैसे [[ग्राफिकल यूज़र इंटरफ़ेस]] के लिए किया जाता है। इसके कोमलता और शक्ति के कारण इसे स्क्रिप्टिंग भाषाओं की स्विस आर्मी चेनसॉ का उपनाम दिया गया है,<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 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="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 54: | Line 20: | ||
=== प्रारंभिक संस्करण === | === प्रारंभिक संस्करण === | ||
लैरी वॉल ने 1987 में [[यूनिसिस]] में | लैरी वॉल ने 1987 में पर्ल पर काम करना प्रारम्भ किया, जबकि [[यूनिसिस]] में 18 दिसंबर, 1987 को संस्करण 1.0 में प्रोग्रामर के रूप में काम कर रहे थे।<ref name="programmingperl2" /><ref name="perltimeline"/>अगले कुछ वर्षों में भाषा का अधिक विस्तार हुआ। | ||
1988 में प्रस्तावित हुई पर्ल 2 में अच्छा रेगुलर एक्सप्रेशन इंजन था। 1989 में प्रस्तावित पर्ल 3 ने [[बाइनरी डेटा]] स्ट्रीम के लिए समर्थन जोड़ा। | |||
मूल रूप से, पर्ल के लिए दस्तावेज लंबा मैन पेज था। 1991 में, प्रोग्रामिंग पर्ल, जिसे कई पर्ल प्रोग्रामर अपने कवर के कारण कैमल बुक के रूप में जानते थे, प्रकाशित हुआ और भाषा के लिए वास्तविक संदर्भ बन गया। उसी समय, पर्ल संस्करण संख्या को 4 तक बढ़ा दिया गया था, भाषा में बड़े परिवर्तन को चिह्नित करने के लिए नहीं अन्यथा पुस्तक द्वारा अच्छी तरह से प्रलेखित संस्करण की पहचान करने के लिए था। | |||
मूल रूप से, पर्ल के लिए | === प्रारंभिक पर्ल 5 === | ||
{{Main|पर्ल 5 संस्करण इतिहास}} | |||
पर्ल 4 [[रखरखाव रिलीज|सुरक्षा प्रस्तावित]] की श्रृंखला के माध्यम से चला गया, 1993 में पर्ल 4.036 में समाप्त हुआ, जिसके बाद वॉल ने पर्ल 5 पर काम प्रारभ्म करने के लिए पर्ल 4 को छोड़ दिया। पर्ल 5 का प्रारंभिक डिजाइन 1994 में प्रस्तावित हुआ। पर्ल 5 पोर्टर्स मेलिंग लिस्ट की स्थापना मई 1994 में पर्ल 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 के विकास, सुरक्षा और पोर्टिंग के लिए प्राथमिक प्लेटफॉर्म बना हुआ है। | |||
पर्ल 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.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|व्यापक पर्ल आर्काइव नेटवर्क]] (सीपीएएन) को पर्ल भाषा और [[पर्ल मॉड्यूल]] के लिए [[सॉफ्टवेयर रिपॉजिटरी]] के रूप में स्थापित किया गया था, दिसंबर 2022 तक, इसके 43,865 वितरणों में 211,850 से अधिक मॉड्यूल हैं, जो 14,324 से अधिक लेखकों द्वारा लिखे गए हैं, और दुनिया भर में 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 इतिहास की सबसे महत्वपूर्ण घटनाओं में से | |||
पर्ल 5. | पर्ल 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, [[क्यूएनएक्स]], और एमिगाओएस(AmigaOS) के लिए समर्थन जोड़ा।<ref name="5004delta" /> | |||
पर्ल 5.005 को 22 जुलाई 1998 को प्रस्तावित किया गया था। इस प्रस्तावित में रेगेक्स इंजन में कई संवर्द्धन, <code>B::*</code> मॉड्यूल के माध्यम से बैकएंड में नए हुक, <code>qr//</code> रेगेक्स उद्धरण ऑपरेटर, अन्य नए कोर मॉड्यूल का बड़ा चयन, और कई और ऑपरेटिंग सिस्टम के लिए अतिरिक्त समर्थन सम्मलित है, जिसमें बीओस([[BeOS|(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> | |||
===2000–2020=== | ===2000–2020=== | ||
{| class="wikitable floatright" | {| class="wikitable floatright" | ||
|- | |- | ||
! | ! प्रमुख संस्करण | ||
! | ! नवीनतम अपडेट<ref>{{cite web |url = http://www.cpan.org/src/ |title = Perl Source |publisher = www.cpan.org |access-date = 2020-06-02 |archive-date = June 1, 2017 |archive-url = https://web.archive.org/web/20170601222517/http://www.cpan.org/src/ |url-status = live }}</ref> | ||
|- | |- | ||
| {{Version|o|5.4}} | | {{Version|o|5.4}} | ||
Line 114: | Line 81: | ||
| {{Version|o|5.24}} | | {{Version|o|5.24}} | ||
| 2018-04-14 | | 2018-04-14 | ||
| | |||
|- | |- | ||
| {{Version|o|5.26}} | | {{Version|o|5.26}} | ||
Line 138: | Line 106: | ||
| {{Version|p|7.0}} | | {{Version|p|7.0}} | ||
| 2023? | | 2023? | ||
|} | |} | ||
पर्ल 5.6 को 22 मार्च, 2000 को | पर्ल 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 में, वाल ने समुदाय से पर्ल के | |||
पर्ल 5.8 पहली बार 18 जुलाई, 2002 को | 2000 में, वाल ने समुदाय से पर्ल के नए संस्करण के लिए सलाह का आह्वान किया। इस प्रक्रिया के परिणामस्वरूप 361 आरएफसी(RFC) दस्तावेज़ तैयार हुए जिनका उपयोग पर्ल 6 के विकास में मार्गदर्शन के लिए किया जाना था। पर्ल 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 के लिए एपोकैलिप्स पर काम प्रारभ्म हुआ, दस्तावेजों की श्रृंखला जो परिवर्तन अनुरोधों को सारांशित करने और पर्ल की आगामी पीढ़ी के डिजाइन को दर्शाने के लिए था। उन्हें औपचारिक दस्तावेज़ के अतिरिक्त आरएफसी के डाइजेस्ट के रूप में दर्शाया गया था। इस बिंदु पर, पर्ल 6 केवल भाषा के विवरण के रूप में अस्तित्व में था।{{cn|date=December 2020}} | ||
पर्ल 5.8 पहली बार 18 जुलाई, 2002 को प्रस्तावित किया गया था, और उस समय से लगभग वार्षिक अद्यतन किया गया था। पर्ल 5.8 ने यूनिकोड समर्थन में सुधार किया, नया इनपुट/आउटपुट कार्यान्वयन जोड़ा,संख्यात्मक सटीकता में सुधार किया, और कई नए मॉड्यूल जोड़े।<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 में, सारांश पर काम | 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) पर्ल ऑन न्यू इंटरनल इंजन का संक्षिप्त नाम है। पोनी परियोजना 2003 से 2006 तक अस्तित्व में थी और पर्ल 5 और 6 के बीच सेतु बनना था। यह पैरेट पर्ल 6 [[तोता आभासी मशीन|आभासी मशीन]] पर चलने के लिए पर्ल 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> पोनी परियोजना 2006 में समाप्त हो गई और अब इसे सक्रिय रूप से विकसित नहीं किया जा रहा है। पोनी के भाग के रूप में पर्ल 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 | 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 तक, राकुडो पर्ल की मासिक प्रदर्शन नियमित रूप से होता रहा है और अब यह पर्ल 6 का सबसे पूर्ण कार्यान्वयन है। | ||
पर्ल 5 की विकास प्रक्रिया में बड़ा परिवर्तन पर्ल 5.11 के साथ हुआ; विकास समुदाय स्थिर के वार्षिक शेड्यूल के साथ, मासिक प्रस्तावित चक्र में परिवर्तन किया गया है। उस योजना के अनुसार, तीन महीने में स्थिर प्रस्तावित के बाद बग फिक्स पॉइंट प्रस्तावित होंगे।{{cn|date=December 2020}} | |||
12 अप्रैल 2010 को पर्ल 5.12.0 प्रस्तावित किया गया। उल्लेखनीय कोर संवर्द्धन में नए<code>package NAME VERSION</code> प्रारूप , यदा यदा ऑपरेटर (प्लेसहोल्डर कोड को चिह्नित करने का निश्चय है जो अभी तक लागू नहीं हुआ है), निहित कठोरता, पूर्ण [[Y2038]] अनुपालन, रेगेक्स रूपांतरण ओवरलोडिंग, डीट्रेस [[DTrace|(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|(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 प्रस्तावित किया गया था। उल्लेखनीय नई सुविधाओं में पर्ल के दिए गए संस्करण को निर्दिष्ट करने की क्षमता सम्मिलित है, जो कि अनुकरण करना चाहता है, जिससे उपयोगकर्ता पर्ल के संस्करण को अपग्रेड कर सकते हैं, लेकिन फिर भी पुरानी स्क्रिप्ट चलाते हैं जो सामान्य रूप से असंगत होती हैं।<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 का समर्थन करने के लिए कोर को भी अपडेट करता है। | |||
18 मई, 2013 को पर्ल 5.18 जारी किया गया था। उल्लेखनीय नई विशेषताओं में नए dtrace हुक, लेक्सिकल सब, अधिक CORE:: सब, सुरक्षा कारणों से हैश का ओवरहाल, यूनिकोड 6.2 के लिए समर्थन शामिल हैं।<nowiki><ref name="5180delta_version"></nowiki>{{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 }}</रेफरी> | |||
27 मई 2014 को पर्ल 5.20 जारी किया गया था। उल्लेखनीय नई विशेषताओं में सबरूटीन सिग्नेचर, हैश स्लाइस/नया स्लाइस सिंटैक्स, पोस्टफिक्स डीरेफरेंसिंग (प्रायोगिक), यूनिकोड 6.3, शामिल हैं। {{Not a typo|rand()}} लगातार यादृच्छिक संख्या जनरेटर का उपयोग करना।<nowiki><ref name="5200delta_version"></nowiki>{{cite web |url = https://metacpan.org/source/RJBS/perl-5.20.0/pod/perldelta.pod |title = perl5200delta - पर्ल v5.20.0 - पर्ल प्रोग्रामिंग भाषा के लिए नया क्या है|access-date = 2014-05-27 |work = Perl 5 version 20.0 documentation |publisher = metacpan.org |archive-date = May 27, 2014 |archive-url = https://archive.today/20140527190905/https://metacpan.org/source/RJBS/perl-5.20.0/pod/perldelta.pod |url-status = live }}</रेफरी> | |||
== | कुछ पर्यवेक्षक आधुनिक पर्ल आंदोलन की शुरुआत के साथ पर्ल 5.10 की रिलीज का श्रेय देते हैं। | ||
संदर्भ>[http://www.modernperlbooks.com/mt/2009/07/milestones-in-the-perl-renaissance.html पर्ल पुनर्जागरण में मील के पत्थर - आधुनिक पर्ल प्रोग्रामिंग] {{Webarchive|url=https://web.archive.org/web/20121027105918/http://www.modernperlbooks.com/mt/2009/07/milestones-in-the-perl-renaissance.html |date=October 27, 2012 }}. मॉडर्नपर्लबुक्स डॉट कॉम। 2013-07-17 को पुनःप्राप्त। </ref> पर्ल 5.16 यूनिकोड 6.1 का समर्थन करने के लिए कोर को भी अपडेट करता हैI | |||
18 मई, 2013 को पर्ल 5.18 प्रस्तावित किया गया था। उल्लेखनीय नई विशेषताओं में नए डीट्रेस हुक, लेक्सिकल उप, अधिक कोर:: उप, सुरक्षा कारणों से हैश का ओवरहाल, यूनिकोड 6.2 के लिए समर्थन सम्मलित हैं। | |||
27 मई 2014 को पर्ल 5.20 प्रस्तावित किया गया था। उल्लेखनीय नई सुविधाओं में सबरूटीन सिग्नेचर, हैश स्लाइस/नया स्लाइस प्रारूप, पोस्टफ़िक्स डेरेफ़रेंसिंग (प्रायोगिक), यूनिकोड 6.3, रैंड () लगातार यादृच्छिक संख्या जनरेटर का उपयोग करना सम्मलित हैं। | |||
कुछ पर्यवेक्षक आधुनिक पर्ल आंदोलन के प्रारम्भ में पर्ल 5.10 के प्रस्तावित का श्रेय देते हैं। विशेष रूप से, यह वाक्यांश विकास की शैली का वर्णन करता है जो सीपीएएन के उपयोग है, जो भाषा के विकास का लाभ उठाता है, और उच्च गुणवत्ता वाले कोड बनाने के बारे में कठोर है। जबकि [http://onyxneon.com/books/modern_perl/ मॉडर्न पर्ल] इस विचार की सबसे प्रत्यक्ष मानक-वाहक हो सकती है,{{cite web|url=http://www.enlightenedperl.org/|title=प्रबुद्ध पर्ल|website=प्रबुद्ध पर्ल|access-date=सितंबर 28, 2012|archive-date=फ़रवरी 5, 2014|archive-url=https://web.archive.org/web/20140205015536/http://www.enlightenedperl.org/|url-status=dead}} संगठनI जैसे अन्य समूह ने इस कार्य को हाथ में लिया है। | |||
2012 और 2013 के अंत में, पर्ल 5 के लिए वैकल्पिक कार्यान्वयन के लिए कई परियोजनाएं प्रारम्भ हुईं: राकुडो पर्ल टीम द्वारा पर्ल 6, 5 स्टीवन लिटिल और दोस्तों द्वारा मो और पी2 रीनी अर्बन के अंतर्गत पर्ल 11 टीम द्वारा, जीपर्ल द्वारा आरपर्ल विल ब्रैसवेल के नेतृत्व में किकस्टार्टर परियोजना है और पर्ल11 परियोजना से संबद्ध है। | |||
=== 2020 आगे === | |||
जून 2020 में, पर्ल 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 प्रारभ्म में 5.32 पर आधारित था, जिसमे 2021 को पहली छमाही में प्रस्तावित होने की आशा थी, और उम्मीदवारों को जल्द ही प्रस्तावित किया जाना था।<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 संस्करण को चूंकि महत्वपूर्ण सुरक्षा और बग फिक्स प्राप्त होते रहेंगे।<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> | |||
== प्रतीक == | |||
=== कैमल === | |||
ओ'रेली मीडिया (O'Reilly Media) द्वारा प्रकाशित प्रोग्रामिंग पर्ल, कवर पर [[साँड़नी|ड्रोमेडरी कैमल]] की तस्वीर प्रदर्शित करता है और इसे सामान्यतः कैमल बुक कहा जाता है।<ref name="schwartz01">{{cite book |last1 = Schwartz |first1 = Randal L |author-link1 = Randal L. Schwartz |last2 = Phoenix |first2 = Tom |last3 = Foy |first3 = Brian |author-link3 = Brian D Foy |title = लर्निंग पर्ल, तीसरा संस्करण|isbn = 978-0-596-00132-2 |date = 2007-12-06 |url = https://archive.org/details/learningperl00schw }}</ref> यह छवि टी-शर्ट और अन्य कपड़ों की वस्तुओं पर दिखने वाले पर्ल के साथ-साथ सामान्य [[हैकर (प्रोग्रामर उपसंस्कृति)|हैकर]] प्रतीक का अनौपचारिक प्रतीक बन गई है। | |||
ओ'रेली [[ट्रेडमार्क]] के रूप में छवि का अधिकारी है, लेकिन इसे गैर-व्यावसायिक उपयोग के लिए लाइसेंस देता है, जिसके लिए केवल www.perl.com के लिंक की आवश्यकता होती है। व्यावसायिक उपयोग के लिए लाइसेंस देने का निर्णय स्थिति-दर-स्थिति आधार पर लिया जाता है।<ref name="camel">{{cite web |url = http://archive.oreilly.com/pub/a/oreilly/perl/usage |archive-url = https://web.archive.org/web/20180425080044/http://archive.oreilly.com/pub/a/oreilly/perl/usage |url-status = dead |archive-date = 2018-04-25 |title = पर्ल कैमल उपयोग और ट्रेडमार्क सूचना|access-date = 2011-01-09 |publisher = [[O'Reilly Media]] }}</ref> ओ'रेली गैर-वाणिज्यिक साइटों के लिए "प्रोग्रामिंग रिपब्लिक ऑफ पर्ल" लोगो और पर्ल का उपयोग करने वाली किसी भी साइट के लिए पर्ल द्वारा संचालित "पावर्ड बाय पर्ल" बटन भी प्रदान करता है।<ref name="camel" /> | |||
===अनियन=== | |||
[[पर्ल फाउंडेशन]] के पास वैकल्पिक प्रतीक, अनियन है, जिसे वह अपनी सहायक कंपनियों, [[Perl Mongers|पर्ल मोंगर्स]], [[Perl Mongers|पर्लमॉन्क्स]], Perl.org, और अन्य को लाइसेंस देता है।<ref name="onion">{{cite web |url = http://www.perlfoundation.org/perl_trademark |title = पर्ल ट्रेडमार्क|access-date = 2011-01-09 |publisher = [[The Perl Foundation]] |archive-url = https://web.archive.org/web/20110503211915/http://www.perlfoundation.org/perl_trademark |archive-date = May 3, 2011 |url-status = dead |df = mdy-all }}</ref> प्रतीक [[मोती प्याज|पर्ल]] [[मोती प्याज|अनियन]] पर दृश्य वाक्य है।<ref name="gillmore98">{{cite news |first = Dan |last = Gillmore |title = पर्ल गणराज्य|date = 1998-10-25 |url = http://articles.chicagotribune.com/1998-10-25/news/9810250094_1_programmers-open-source-movement-programming-community |work = Chicago Tribune |access-date = 2011-01-10 |archive-date = April 30, 2011 |archive-url = https://web.archive.org/web/20110430031425/http://articles.chicagotribune.com/1998-10-25/news/9810250094_1_programmers-open-source-movement-programming-community |url-status = live }}</ref> | |||
=== रैप्टर === | === रैप्टर === | ||
[[Mojolicious|मोजोलिसियस]] के निर्माता, सेबस्टियन रिडेल ने [[Dromaeosauridae|रैप्टर डायनासोर]] का चित्रण करते हुए लोगो बनाया, जो सीसी-एसए लाइसेंस, संस्करण 4.0 के अधीन उपलब्ध है।<ref name="riedel11">{{cite web |first = Sebastian |last = Riedel |title = पर्ल 5 रैप्टर|date = 2012-01-18 |url = https://github.com/kraih/perl-raptor |work = Sebastian Riedel |access-date = 2017-11-12 |archive-date = June 11, 2018 |archive-url = https://web.archive.org/web/20180611021629/https://github.com/kraih/perl-raptor |url-status = live }}</ref> रैप्टर का एनालॉग मैट एस ट्राउट द्वारा 2010 में प्रारम्भ की गई संवाद की श्रृंखला से आता है।<ref name="trout10">{{cite web |first = Matt |last = Trout |title = वेलोसिरैप्टर की स्थिति - चरण दो|date = 2005-06-16 |url = https://shadow.cat/blog/matt-s-trout/sotv-vi/ |work = Shadowcat Systems Limited |access-date = 2017-11-12 |archive-date = November 13, 2017 |archive-url = https://web.archive.org/web/20171113003519/https://shadow.cat/blog/matt-s-trout/sotv-vi/ |url-status = live }}</ref> | |||
{{ | == अवलोकन == | ||
{{Main|पर्ल भाषा संरचना}} | |||
वाल के अनुसार पर्ल के दो स्लोगन हैं। पहला है इसे करने के अधिक उपाय हैं, जिन्हें सामान्यतः टीएमटीओडब्ल्यूटीडीआई (TMTOWTDI) के नाम से जाना जाता है। दूसरा नारा है सरल वस्तु सरल होनी चाहिए और कठिन वस्तु संभव होनी चाहिए।<ref name="programmingperl2" /> | |||
=== विशेषताएं === | |||
पर्ल की समग्र संरचना व्यापक रूप C से प्राप्त होती है। पर्ल प्रकृति में [[प्रक्रियात्मक प्रोग्रामिंग]], [[चर (प्रोग्रामिंग)|चर]], [[अभिव्यक्ति (प्रोग्रामिंग)|अभिव्यक्ति]], [[कार्य विवरण]], [[कोष्ठक]]-सीमांकित [[ब्लॉक (प्रोग्रामिंग)]] , [[नियंत्रण संरचना]] और उप-दिनचर्या के साथ है।<ref>{{Cite book|last=Nagpal|first=D.P.|title=वेब डिजाइन प्रौद्योगिकी|publisher=S. Chand|year=2010|isbn=978-8121927635|location=India|pages=700|language=English}}</ref> | |||
पर्ल शेल प्रोग्रामिंग से भी विशेषता लेता है। सभी चर को प्रमुख [[सिगिल (कंप्यूटर प्रोग्रामिंग)|सिगिल]] के साथ चिह्नित किया गया है, जो [[चर प्रक्षेप|चर]] को सीधे स्ट्रिंग में प्रक्षेपित करने की अनुमति देता है। चूंकि, शेल के विपरीत, पर्ल चर के सभी एक्सेस पर सिगिल का उपयोग करता है, और सिगिल का उपयोग करने वाली अधिकांश अन्य प्रोग्रामिंग भाषाओं के विपरीत, सिगिल चर के प्रकार को नहीं अन्यथा अभिव्यक्ति के प्रकार को दर्शाता है। उदाहरण के लिए, जबकि सरणी को सिगिल @ (उदाहरण के लिए <code>@arrayname</code>) द्वारा दर्शाया जाता है, सरणी के व्यक्तिगत सदस्य को स्केलर सिगिल $ (उदाहरण के लिए <code>$arrayname[3]</code>) द्वारा दर्शाया जाता है। पर्ल में कई बिल्ट-इन फ़ंक्शंस भी हैं जो शेल प्रोग्रामिंग में प्रायः उपयोग किए जाने वाले टूल प्रदान करते हैं (चूंकि इनमें से कई टूल शेल के बाहरी प्रोग्राम द्वारा कार्यान्वित किए जाते हैं) जैसे [[आरोही क्रम|सॉर्टिंग]], और [[ऑपरेटिंग सिस्टम]] सुविधाओं को कॉल करना। | |||
पर्ल [[AWK|एडब्ल्यूके]] से [[साहचर्य सरणी]] और सेड (sed) से नियमित अभिव्यक्तियाँ लेता है। ये कई पार्सिंग, टेक्स्ट-हैंडलिंग और डेटा-प्रबंधन कार्यों को सरल करते हैं। [[लिस्प (प्रोग्रामिंग भाषा)]] के साथ भाग किया गया ब्लॉक में अंतिम मूल्य का [[रिटर्न स्टेटमेंट]] है, और सभी कथन भी ऐसे एक्सप्रेशन हैं जिनका उपयोग स्वयं बड़े एक्सप्रेशन में किया जा सकता है।{{cn|date=December 2020}} | |||
पर्ल 5 में ऐसी विशेषताएं जोड़ी गई हैं जो जटिल [[डेटा संरचना|डेटा संरचनाओं]], प्रथम श्रेणी के कार्यों (अर्थात् मूल्यों के रूप में बंद) और वस्तु-उन्मुख प्रोग्रामिंग मॉडल का समर्थन करती हैं। इनमें कंपाइलर [[निर्देश (प्रोग्रामिंग)|निर्देश]] (उदाहरण के लिए, कठोर प्रागमा) के साथ संदर्भ, पैकेज, क्लास-आधारित [[गतिशील प्रेषण|विधि-प्रेषण]] और [[कार्यक्षेत्र (प्रोग्रामिंग)|लेक्सिकली स्कोप्ड चर]] सम्मिलित हैंI पर्ल 5 के साथ प्रदर्शित की गई प्रमुख अतिरिक्त सुविधा कोड को पुन: प्रयोज्य मॉड्यूल के रूप में पैकेज करने की क्षमता थी। वॉल ने बाद में कहा कि पर्ल 5 के मॉड्यूल सिस्टम का पूरा उद्देश्य पर्ल कोर के अतिरिक्त पर्ल संस्कृति के विकास को प्रोत्साहित करना था।<ref>{{cite newsgroup |title = शीर्षक अज्ञात|date = 1997-05-10 |message-id = 199705101952.MAA00756@wall.org }}{{Dead link|date=November 2014}}</ref> | |||
पर्ल के सभी संस्करण स्वचालित [[टाइप सिस्टम]] में, डेटा-टाइपिंग और स्वचालित मेमोरी प्रबंधन करते हैं। दुभाषिया प्रोग्राम में प्रत्येक डेटा ऑब्जेक्ट के प्रकार और [[कंप्यूटर डेटा भंडारण]] आवश्यकताओं को जानता है; यह संदर्भ गणना का उपयोग करके आवश्यकतानुसार उनके लिए भंडारण आवंटित और मुक्त करता है (इसलिए यह मैन्युअल हस्तक्षेप के बिना परिपत्र डेटा संरचनाओं को हटा नहीं सकता है)। कानूनी प्रकार के रूपांतरण-उदाहरण के लिए, संख्या से स्ट्रिंग में रूपांतरण - स्वचालित रूप से [[रन टाइम (कार्यक्रम जीवनचक्र चरण)]] पर किए जाते हैं; अवैध प्रकार के रूपांतरण घातक त्रुटियाँ हैं।{{cn|date=December 2020}} | |||
=== डिजाइन === | |||
पर्ल के डिजाइन को कंप्यूटर उद्योग में तीन व्यापक आकर्षण प्रतिक्रिया के रूप में समझा जा सकता है: फॉलिंग हार्डवेयर लागत, बढ़ती श्रम लागत और [[संकलक]] प्रौद्योगिकी में सुधार है। पहले के कई कंप्यूटर भाषाएँ, जैसे कि [[फोरट्रान]] और सी, का उद्देश्य अधिक मूल्य कंप्यूटर हार्डवेयर का कुशल उपयोग करना था। इसके विपरीत, पर्ल को डिजाइन किया गया था जिससे कंप्यूटर प्रोग्रामर अधिक तीव्रता से और सरल प्रोग्राम लिख सकें।<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}} | |||
पर्ल किसी विशेष [[प्रोग्रामिंग प्रतिमान]] (प्रक्रियात्मक प्रोग्रामिंग, [[वस्तु उन्मुख कार्यकर्म|वस्तु उन्मुख]], [[कार्यात्मक प्रोग्रामिंग]], या अन्य) को लागू नहीं करता है या यहां तक कि प्रोग्रामर को उनमें से किसी को चुनने की आवश्यकता नहीं होती है।{{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> | |||
पर्ल 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}} | |||
=== अनुप्रयोग === | === अनुप्रयोग === | ||
पर्ल के पास कई और विविध अनुप्रयोग हैं, जो कई मानक और तृतीय-पक्ष मॉड्यूल की उपलब्धता से जटिल हैं। | पर्ल के पास कई और विविध अनुप्रयोग हैं, जो कई मानक और तृतीय-पक्ष मॉड्यूल की उपलब्धता से जटिल हैं। | ||
पर्ल का उपयोग मुख्य रूप से कॉमन गेटवे इंटरफ़ेस स्क्रिप्ट लिखने के लिए किया गया है: पर्ल में लिखी गई बड़ी परियोजनाओं में [[cPanel| | पर्ल का उपयोग मुख्य रूप से कॉमन गेटवे इंटरफ़ेस स्क्रिप्ट लिखने के लिए किया गया है: पर्ल में लिखी गई बड़ी परियोजनाओं में [[cPanel|सी पैनल]], स्लैश (वेबलॉग सिस्टम), [[Bugzilla|बगजिला]], [[Request Tracker|अनुरोध ट्रैकर]], [[TWiki|ट्वीकी]], और [[चल प्रकार|मूवेबल टाइप]] सम्मिलित हैं; पर्ल का बड़े पैमाने पर उपयोग करने वाली उच्च-ट्रैफ़िक वेबसाइटों में Priceline.com, [[Craigslist|क्रैगसलिस्ट,]]<ref>{{cite book |last1 = Gilmore |first1 = W. J. |title = शुरुआती PHP और MySQL: नौसिखिए से पेशेवर तक, चौथा संस्करण|year = 2010 |url = https://archive.org/details/beginningphpmysq00gilm_240 |url-access = limited |publisher = Apress |page = [https://archive.org/details/beginningphpmysq00gilm_240/page/n519 484] |isbn = 978-1-4302-3114-1 }}</ref> [[इंटरनेट मूवी डेटाबेस]],<ref>{{cite web |title = आईएमडीबी हेल्पडेस्क: साइट चलाने के लिए आप किस सॉफ्टवेयर/हार्डवेयर का उपयोग कर रहे हैं?|website = Internet Movie Database |url = https://www.imdb.com/help/search?domain=helpdesk_faq&index=1&file=techinfo |access-date = 2011-02-12 |archive-date = March 9, 2017 |archive-url = https://web.archive.org/web/20170309083513/http://www.imdb.com/help/search?domain=helpdesk_faq&index=1&file=techinfo |url-status = live }}</ref> [[लाइवजर्नल]], [[डकडकगो]],<ref>DuckDuckGo handles a large amount of search queries at 4.5 million queries per day . https://duckduckgo.com/traffic.html {{Webarchive|url=http://webarchive.loc.gov/all/20120215210604/https://duckduckgo.com/traffic.html |date=February 15, 2012 }}</ref><ref>DuckDuckGo uses Perl https://web.archive.org/web/20101231135106/http://www.gabrielweinberg.com/blog/2009/03/duck-duck-go-architecture.html</ref> [[Slashdot करने|स्लैशडॉट]] और [[टिकटमास्टर]] सम्मिलित हैं। यह पीएचपी ([[PHP]]) या पायथन (प्रोग्रामिंग लैंग्वेज) के अतिरिक्त [[वेब विकास]] के लिए लोकप्रिय [[LAMP (सॉफ्टवेयर बंडल)]] प्रौद्योगिकी स्टैक का वैकल्पिक घटक भी है। [[डेबियन]] [[लिनक्स]] वितरण में पर्ल का व्यापक रूप से [[सिस्टम प्रोग्रामिंग भाषा]] के रूप में उपयोग किया जाता है।<ref>{{cite web|url=https://wiki.debian.org/PerlFAQ|title=पर्ल अक्सर पूछे जाने वाले प्रश्न|quote=डेबियन में पर्ल का काफी व्यापक रूप से उपयोग किया जाता है। पर्ल में न केवल कुछ मुख्य कार्य लिखे गए हैं, बल्कि अस्थिर में 700 से अधिक पैकेज हैं जिनके नाम में पर्ल है (मार्च 2004)।|access-date=August 6, 2019|archive-date=August 6, 2019|archive-url=https://web.archive.org/web/20190806111259/https://wiki.debian.org/PerlFAQ|url-status=live}}</ref> | ||
यह [[PHP | |||
पर्ल को प्रायः | पर्ल को प्रायः भाषा के रूप में प्रयोग किया जाता है, जो सिस्टम और इंटरफेस को जोड़ता है जिसे विशेष रूप से इंटरऑपरेट करने के लिए डिज़ाइन नहीं किया गया था, और डेटा मंगिंग के लिए,<ref>{{cite web |url = http://books.perl.org/book/95 |title = पर्ल बुक्स - बुक: पर्ल के साथ डेटा मुंगिंग|work = Perl.org |access-date = December 30, 2010 |archive-date = September 7, 2011 |archive-url = https://web.archive.org/web/20110907020511/http://books.perl.org/book/95 |url-status = live }}</ref>अर्थात रिपोर्ट बनाने जैसे कार्यों के लिए बड़ी मात्रा में डेटा को परिवर्तित या संसाधित करना। वास्तव में, ये शक्तियाँ घनिष्ठ रूप से जुड़ी हुई हैं। संयोजन पर्ल को सिस्टम प्रशासकों के लिए लोकप्रिय सर्व-उद्देश्यीय भाषा बनाता है, विशेष रूप से क्योंकि छोटे लघु, जिन्हें प्रायः [[एक-लाइनर कार्यक्रम|एक-लाइनर प्रोग्राम]] कहा जाता है, में प्रवेश किया जा सकता है और [[कमांड लाइन इंटरफेस]] पर चलाया जा सकता है।{{cn|date=December 2020}} | ||
पर्ल कोड को माइक्रोसॉफ्ट विंडोज और यूनिक्स में पोर्टेबल बनाया जा सकता है; इस | |||
पर्ल कोड को माइक्रोसॉफ्ट विंडोज और यूनिक्स में पोर्टेबल बनाया जा सकता है; इस प्रकार के कोड का उपयोग प्रायः सॉफ्टवेयर के आपूर्तिकर्ताओं द्वारा किया जाता हैI जिससे सॉफ्टवेयर निर्माण और परिनियोजन-स्क्रिप्ट की पैकेजिंग और सुरक्षा को सरल बनाया जा सके।{{cn|date=December 2020}} | |||
पर्ल /टीके और [[wxPerl|डब्लूएक्सपर्ल]] का उपयोग सामान्यतः पर्ल स्क्रिप्ट में ग्राफिकल यूजर इंटरफेस जोड़ने के लिए किया जाता है। | |||
=== कार्यान्वयन === | === कार्यान्वयन === | ||
पर्ल को | पर्ल को कोर इंटरप्रेटर के रूप में लागू किया गया है, जिसे सी में लिखा गया है, साथ में पर्ल और सी में लिखे मॉड्यूल का बड़ा संग्रह है। {{As of|2010}}, दुभाषिया सी कोड की 150,000 पंक्तियां है और विशिष्ट मशीन आर्किटेक्चर पर 1 एमबी निष्पादन योग्य संकलित करता है। वैकल्पिक रूप से, दुभाषिया को लिंक लाइब्रेरी में संकलित किया जा सकता है और अन्य प्रोग्राम्स में अंतर्निहित किया जा सकता है। वितरण में लगभग 500 मॉड्यूल हैं, जिसमें पर्ल की 200,000 पंक्तियां और सी कोड की अतिरिक्त 350,000 पंक्तियां सम्मिलित हैं (मॉड्यूल में अधिकांश सी कोड में [[अक्षरों को सांकेतिक अक्षरों में बदलना|अक्षरों को सांकेतिक अक्षरों में बदलने]] का टेबल होते हैं)।{{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}} | |||
पर्ल के संकलन चरण में जो कुछ होता है वह संकलन है, और पर्ल के वर्तमान चरण में जो कुछ होता है वह निष्पादन है, लेकिन यह महत्वपूर्ण अपवाद हैं। संकलन चरण के समय पर्ल कोड को निष्पादित करने के लिए पर्ल अपनी क्षमता का महत्वपूर्ण उपयोग करता है। पर्ल वर्तमान समय में संकलन में भी प्रतीक्षा करेगा। वे शब्द जो उस प्रकार के प्रसंस्करण को संकेत करते हैं जो वास्तव में किसी भी समय हो रहा है, वह संकलन समय और वर्तमान समय हैं। संकलन चरण के समय अधिकांश बिंदुओं पर पर्ल संकलन समय में है, लेकिन वर्तमान चरण के समय संकलन समय भी लिपिबद्ध किया जा सकता है। स्ट्रिंग तर्क में कोड के लिए संकलन समय पास किया गया <code>[[eval]]</code> बिल्ट-इन वर्तमान चरण के समय होता है। संकलन चरण के समय पर्ल प्रायः वर्तमान समय में होता है और अधिकांश वर्तमान चरण वर्तमान समय में व्यय करता है। | |||
संकलन चरण में कोड में <code>BEGIN</code> ब्लॉक वर्तमान समय पर निष्पादित होते हैं। संकलन समय पर, दुभाषिया पर्ल कोड को प्रारूप [[सार वाक्य रचना का पेड़|ट्री]] में पार्स करता है। वर्तमान समय पर, यह [[ट्री ट्रैवर्सल]] द्वारा प्रोग्राम को क्रियान्वित करता है। पाठ को केवल पार्स किया जाता है, और प्रारूप ट्री निष्पादित होने से पहले अनुकूलन के अधीन होता है, जिससे निष्पादन अपेक्षाकृत कुशल हो। प्रारूप ट्री पर संकलन-समय के अनुकूलन में [[निरंतर तह]] और संदर्भ प्रसार सम्मलित है, लेकिन [[पीपहोल अनुकूलन]] भी किया जाता है।<ref>{{Cite web|title=पर्लगट्स - पर्ल एपीआई का परिचय - पर्लडॉक ब्राउज़र|url=https://perldoc.perl.org/perlguts#Compile-pass-3:-peephole-optimization|access-date=2022-01-24|website=perldoc.perl.org}}</ref> | |||
पर्ल में एक [[ट्यूरिंग-पूर्ण]] [[औपचारिक व्याकरण|व्याकरण]] है क्योंकि संकलन चरण के समय निष्पादित वर्तमान समय कोड से पार्सिंग प्रभावित हो सकती है।<ref>{{cite web |last = Schwartz |first = Randal |author-link = Randal L. Schwartz |title = पार्सिंग पर्ल पर|url = http://www.perlmonks.org/index.pl?node_id=44722 |access-date = 2007-01-03 |archive-date = September 27, 2007 |archive-url = https://web.archive.org/web/20070927000827/http://www.perlmonks.org/index.pl?node_id=44722 |url-status = live }}</ref> इसलिए, पर्ल को सीधे [[लेक्स प्रोग्रामिंग टूल]]/ वाईएसीसी लेक्सिकल विश्लेषण/ [[पार्सर]] संयोजन द्वारा पार्स नहीं किया जा सकता है। इसके अतिरिक्त, दुभाषिया अपने स्वयं के लेक्सर को लागू करता है, जो भाषा में अस्पष्टताओं को समाधान करने के लिए संशोधित [[जीएनयू बाइसन]] पार्सर के साथ समन्वय करता है।{{cn|date=December 2020}} | |||
यह प्रायः कहा जाता है कि केवल पर्ल ही पर्ल को पार्स कर सकता है,<ref>{{cite web |url = ftp://ftp.ora.com/pub/labs/tpj/tpj2.pdf |title = पर्ल जर्नल #19/9.26|access-date = 2011-02-04 |publisher = [[O'Reilly Media]] }}</ref> जिसका अर्थ है कि केवल पर्ल दुभाषिया (<code>perl</code>) पर्ल भाषा ही (पर्ल) को पार्स कर सकता है, लेकिन सामान्य रूप से यह भी वास्तविक नहीं है। क्योंकि पर्ल दुभाषिया अपने संकलन चरण के समय ट्यूरिंग मशीन का अनुकरण कर सकता है, इसे प्रत्येक विषय में पार्सिंग को पूरा करने के लिए हॉल्टिंग समस्या को तय करने की आवश्यकता होगी। यह दीर्घकालिक परिणाम है कि हॉल्टिंग समस्या अनिर्णीत है, और इसलिए पर्ल भी सदैव पर्ल को पार्स नहीं कर सकता है। पर्ल अपने स्वयं के संकलन चरण में उपयोगकर्ता को अपनी पूर्ण प्रोग्रामिंग शक्ति तक पहुंच प्रदान करने का असामान्य विकल्प बनाता है। सैद्धांतिक शुद्धता की स्थिति में व्यय अधिक है, लेकिन व्यावहारिक असुविधा दुर्लभ प्रतीत होती है।<ref>{{cite web | |||
|url=http://blogs.perl.org/users/jeffrey_kegler/2011/10/perl-and-parsing-11-are-all-perl-programs-parseable.html | |url=http://blogs.perl.org/users/jeffrey_kegler/2011/10/perl-and-parsing-11-are-all-perl-programs-parseable.html | ||
|title=पर्ल और पार्सिंग 11: क्या सभी पर्ल प्रोग्राम पार्स करने योग्य हैं?|last=Kegler |first=Jeffrey |date=October 7, 2011 |access-date=October 25, 2022 | |title=पर्ल और पार्सिंग 11: क्या सभी पर्ल प्रोग्राम पार्स करने योग्य हैं?|last=Kegler |first=Jeffrey |date=October 7, 2011 |access-date=October 25, 2022 | ||
|quote=... ऐसा लगता है कि हम बिल्कुल कुछ नहीं छोड़ रहे हैं। कोई भी कभी भी व्यवहारिक कमी नहीं दिखा पाया है}}</ref> | |quote=... ऐसा लगता है कि हम बिल्कुल कुछ नहीं छोड़ रहे हैं। कोई भी कभी भी व्यवहारिक कमी नहीं दिखा पाया है}}</ref> | ||
पर्ल को पार्स करने वाले अन्य प्रोग्राम, जैसे [[स्थैतिक कार्यक्रम विश्लेषण]] सोर्स-कोड एनालाइजर और [[इंडेंट स्टाइल]] ऑटो-इंडेंटर्स, को न केवल अस्पष्ट [[भाषा निर्माण]] के साथ अन्यथा सामान्य विषय में पर्ल पार्सिंग की [[पुनरावर्ती भाषा]] के साथ भी संघर्ष करना पड़ता है। एडम केनेडी (प्रोग्रामर) की पीपीआई परियोजना ने निष्पादन योग्य कोड के रूप में पर्ल को पार्स करने के अतिरिक्त दस्तावेज़ के रूप में पर्ल कोड को पार्स करने पर ध्यान केंद्रित किया (दस्तावेज़ के रूप में इसकी अखंडता बनाए रखना)। यह केनेडी ही थे जिन्होंने सबसे पहले अनुमान लगाया था कि पार्सिंग पर्ल 'हॉल्टिंग प्रॉब्लम' से पीड़ित है,<ref>{{cite web |url = https://metacpan.org/module/PPI |title = PPI—पर्ल को पार्स करें, विश्लेषण करें और मैनिप्युलेट करें (पर्ल के बिना)|author = Kennedy, Adam |year = 2006 |publisher = [[CPAN]] |access-date = September 16, 2013 |archive-date = September 3, 2013 |archive-url = https://web.archive.org/web/20130903091241/https://metacpan.org/module/PPI |url-status = live }}</ref> जो बाद में सिद्ध हुआ।<ref>{{cite journal |title = चावल की प्रमेय|journal = The Perl Review |volume = 4 |issue = 3 |pages = 23–29 |date = Summer 2008 }} and {{cite journal |title = Perl is Undecidable |journal = The Perl Review |volume = 5 |pages = 7–11 |date = Fall 2008 }}, available online at {{cite web |url = http://www.jeffreykegler.com/Home/perl-and-undecidability |title = Perl and Undecidability |author = Kegler, Jeffrey |access-date = January 4, 2009 |archive-date = August 17, 2009 |archive-url = https://web.archive.org/web/20090817183115/http://www.jeffreykegler.com/Home/perl-and-undecidability |url-status = live }}</ref> | |||
पर्ल को कोर पर्ल भाषा के लिए 250,000 से अधिक कार्यात्मक परीक्षण और कोर मॉड्यूल के लिए 250,000 से अधिक कार्यात्मक परीक्षण के साथ वितरित किया गया है। ये सामान्य निर्माण प्रक्रिया के भाग के रूप में चलते हैं और व्यापक रूप से दुभाषिया और इसके मूल मॉड्यूल का प्रयोग करते हैं। पर्ल डेवलपर्स यह सुनिश्चित करने के लिए कार्यात्मक परीक्षणों पर आश्वास करते हैं कि दुभाषिया में परिवर्तन [[सॉफ्टवेयर बग]] प्रदर्शित नहीं करते हैं; इसके अतिरिक्त, पर्ल उपयोगकर्ता जो देखते हैं कि दुभाषिया उनके सिस्टम पर अपने कार्यात्मक परीक्षणों को पास करता है, उनमें उच्च स्तर का विश्वास हो सकता है कि यह ठीक से काम कर रहा है। | |||
=== उपलब्धता === | === उपलब्धता === | ||
पर्ल को [[कलात्मक लाइसेंस|आर्टिस्टिक लाइसेंस]] 1.0 और [[जीएनयू जनरल पब्लिक लाइसेंस]] दोनों के अंतर्गत [[दोहरी लाइसेंस|दोहरा लाइसेंस]] प्राप्त हैI<ref name="artistic-1.0">{{cite web|url=http://dev.perl.org/licenses/artistic.html|title="कलात्मक लाइसेंस" - dev.perl.org|website=dev.perl.org|access-date=June 24, 2016|archive-date=July 24, 2018|archive-url=https://web.archive.org/web/20180724213601/http://dev.perl.org/licenses/artistic.html|url-status=live}}</ref><ref name="artistic-1.0-git">[http://perl5.git.perl.org/perl.git/blob/HEAD:/Artistic Artistic] {{Webarchive|url=https://web.archive.org/web/20180725033309/http://perl5.git.perl.org/perl.git/blob/HEAD:/Artistic |date=July 25, 2018 }} - file on the Perl 5 git repository</ref> <ref name="licensing">{{cite web |url = http://dev.perl.org/licenses |title = पर्ल लाइसेंसिंग|access-date = 2011-01-08 |publisher = dev.perl.org |archive-date = January 22, 2011 |archive-url = https://web.archive.org/web/20110122175123/http://dev.perl.org/licenses/ |url-status = live }}</ref> अधिकांश ऑपरेटिंग सिस्टम के लिए वितरण उपलब्ध हैं। यह यूनिक्स और यूनिक्स जैसी प्रणालियों पर विशेष रूप से प्रचलित है, लेकिन इसे अधिकांश आधुनिक (और कई अप्रचलित) प्लेटफार्मों पर परिवर्तन किया गया है। केवल छह रिपोर्ट किए गए अपवादों के साथ{{citation needed|date=November 2017}}, पर्ल को सभी [[पॉज़िक्स]]-संगत, या अन्यथा-यूनिक्स-संगत, प्लेटफ़ॉर्म पर स्रोत कोड से संकलित किया जा सकता है।<ref name="cpanports">{{cite web |url = http://www.cpan.org/ports/ |title = पर्ल पोर्ट्स (द्विआधारी वितरण)|publisher = CPAN.org |author = Hietaniemi, Jarkko |year = 1998 |access-date = April 16, 2006 |archive-date = April 18, 2006 |archive-url = https://web.archive.org/web/20060418115903/http://www.cpan.org/ports/ |url-status = live }}</ref> | |||
पर्ल को [[कलात्मक लाइसेंस]] 1.0 दोनों के | |||
[[क्लासिक मैक ओएस]] पर्यावरण के लिए आवश्यक असामान्य परिवर्तनों के कारण, मैकपर्ल नामक विशेष पोर्ट को स्वतंत्र रूप से भेज दिया गया था।<ref name="macperl">{{cite web |url = http://www.macperl.com/ |title = मैकपर्ल पन्ने|year = 1997 |publisher = Prime Time Freeware |access-date = January 18, 2006 |archive-date = January 18, 2006 |archive-url = https://web.archive.org/web/20060118125208/http://www.macperl.com/ |url-status = live }}</ref> | [[क्लासिक मैक ओएस]] पर्यावरण के लिए आवश्यक असामान्य परिवर्तनों के कारण, मैकपर्ल नामक विशेष पोर्ट को स्वतंत्र रूप से भेज दिया गया था।<ref name="macperl">{{cite web |url = http://www.macperl.com/ |title = मैकपर्ल पन्ने|year = 1997 |publisher = Prime Time Freeware |access-date = January 18, 2006 |archive-date = January 18, 2006 |archive-url = https://web.archive.org/web/20060118125208/http://www.macperl.com/ |url-status = live }}</ref> | ||
कॉम्प्रिहेंसिव पर्ल आर्काइव नेटवर्क प्रत्येक पर उपलब्ध वितरणों के लिंक के साथ समर्थित प्लेटफॉर्मों की पूरी सूची रखता है।<ref>{{cite web |url = http://www.cpan.org/ports/ |title = पर्ल पोर्ट्स (द्विआधारी वितरण)|access-date = 2011-01-27 |publisher = [[CPAN]] |archive-date = April 18, 2006 |archive-url = https://web.archive.org/web/20060418115903/http://www.cpan.org/ports/ |url-status = live }}</ref> सीपीएएन सार्वजनिक रूप से उपलब्ध पर्ल मॉड्यूल का स्रोत भी है जो मूल पर्ल वितरण का भाग नहीं हैं। | |||
==== विंडोज ==== | |||
माइक्रोसॉफ्ट विंडोज़ के उपयोगकर्ता सामान्यतः विन32 के लिए पर्ल के मूल बाइनरी वितरणों को स्थापित करते हैं, जो सामान्यतः [[Strawberry Perl|स्ट्रॉबेरी पर्ल]] या [[ActivePerl|सक्रिय पर्ल]] है। विंडोज के अधीन सोर्स कोड से पर्ल का संकलन संभव है, लेकिन अधिकांश इंस्टॉलेशन में अपेक्षित सी कंपाइलर और बिल्ड टूल्स की अल्पता है। इससे सीपीएएन से मॉड्यूल स्थापित करना भी कठिन हो जाता है, सामान्यतः वे जो आंशिक रूप से सी में लिखे गए हैं।सक्रिय पर्ल, [[ActiveState|सक्रिय स्टेट]] का बंद-स्रोत वितरण है जिसमें नियमित प्रस्तावित होते हैं जो कोर पर्ल प्रस्तावित को ट्रैक करते हैं।<ref name="activestate">{{cite web |url = http://www.activestate.com/activeperl |title = ActivePerl विंडोज, मैक, लिनक्स, AIX, HP-UX और सोलारिस के लिए पर्ल है|access-date = 2011-01-09 |publisher = [[ActiveState|ActiveState Software]] |archive-url = https://web.archive.org/web/20160331201814/http://www.activestate.com/activeperl |archive-date = March 31, 2016 |url-status = dead }}</ref> वितरण में पहले [[पर्ल पैकेज मैनेजर]] (PPM) सम्मिलित था,<ref name="activestateppm">{{cite web |url = http://docs.activestate.com/activeperl/5.12/faq/ActivePerl-faq2.html |title = पीपीएम का उपयोग करना|access-date = 2011-01-09 |publisher = [[ActiveState|ActiveState Software]] |archive-date = August 27, 2010 |archive-url = https://web.archive.org/web/20100827110749/http://docs.activestate.com/activeperl/5.12/faq/ActivePerl-faq2.html |url-status = live }}</ref> सामान्य पर्ल मॉड्यूल के उपयोग को स्थापित करने, हटाने, अपग्रेड करने और प्रबंधित करने के लिए लोकप्रिय उपकरण; चूंकि, इस उपकरण को सक्रिय पर्ल 5.28 के रूप में बंद कर दिया गया था।<ref>{{Cite web |url=https://www.activestate.com/blog/goodbye-ppm-hello-state-tool/ |title=अलविदा पीपीएम, हैलो स्टेट टूल|website=activestate.com |date=July 23, 2019 |access-date=April 16, 2020 |archive-date=July 28, 2020 |archive-url=https://web.archive.org/web/20200728080612/https://www.activestate.com/blog/goodbye-ppm-hello-state-tool/ |url-status=live }}</ref> पर्ल भाषा को लागू करने वाला [[विंडोज स्क्रिप्ट होस्ट]] (डब्ल्यूएसएच) इंजन [[पर्लस्क्रिप्ट]] भी सम्मिलित है। [[विजुअल पर्ल]] एक्टिवस्टेट उपकरण है जो पर्ल को विजुअल स्टूडियो .NET डेवलपमेंट में जोड़ता है। [[VBScript|वीबीस्क्रिप्ट]]-टू-पर्ल कन्वर्टर, साथ ही विंडोज के लिए पर्ल कंपाइलर, और पर्ल के लिए एडब्लूके ([[awk|awk)]] और सेड (sed) के कन्वर्टर्स भी इस कंपनी द्वारा तैयार किए गए हैं और विंडोज के लिए एक्टिवस्टेट सीडी भी सम्मिलित हैं, जिसमें उनके सभी डिस्ट्रीब्यूशन और कोमोडो सम्मिलित हैं। 2002 में और बाद में यूनिक्स/ लिनक्स/ पॉज़िक्स वेरिएंट पर आईडीई और सभी को छोड़कर सम्मिलित हैं।।<ref>readme.txt</ref> | |||
स्ट्राबेरी पर्ल विंडोज के लिए ओपन-सोर्स डिस्ट्रीब्यूशन है। जनवरी 2008 से इसे नियमित, त्रैमासिक प्रस्तावित किया गया है, जिसमें फीडबैक और अनुरोध के रूप में नए मॉड्यूल सम्मिलित हैं। स्ट्राबेरी पर्ल का उद्देश्य एक्सएस (XS) मॉड्यूल को संकलित करने सहित अन्य प्लेटफार्मों पर मानक पर्ल वितरण जैसे मॉड्यूल स्थापित करने में सक्षम होना है। | |||
विंडोज के अनुसार पर्ल को चलाने का [[cygwin|सिग्विन]] में एमुलेशन लेयर है। सिग्विन विंडोज पर यूनिक्स जैसा वातावरण प्रदान करता है, और सिग्विन सेट-अप प्रोग्राम में पर्ल और सीपीएएन दोनों मानक पूर्व-संकलित पैकेज के रूप में उपलब्ध हैं। चूंकि साइगविन में जीसीसी भी सम्मिलित है, इसलिए पर्ल को स्रोत से संकलित करना भी संभव है। | |||
अन्य स्क्रिप्टिंग टूल के साथ निर्देशिका में कई विंडोज रिसोर्स किट में पर्ल निष्पादन योग्य सम्मिलित है। | |||
पर्ल का कार्यान्वयन [[एमकेएस टूलकिट]], [[इंटरिक्स]] (यूनिक्स के लिए विंडोज़ सेवाओं के पूर्व कार्यान्वयन का आधार) और यूडब्ल्यूआईएन के साथ आता है। | |||
== डाटाबेस इंटरफेस == | == डाटाबेस इंटरफेस == | ||
पर्ल की टेक्स्ट-हैंडलिंग क्षमताओं का उपयोग एसक्यूएल प्रश्न उत्पन्न करने के लिए किया जा सकता है; सरणियाँ, हैश और स्वचालित मेमोरी प्रबंधन, लौटाए गए डेटा को एकत्र करना और संसाधित करना | पर्ल की टेक्स्ट-हैंडलिंग क्षमताओं का उपयोग एसक्यूएल प्रश्न उत्पन्न करने के लिए किया जा सकता है; सरणियाँ, हैश और स्वचालित मेमोरी प्रबंधन, लौटाए गए डेटा को एकत्र करना और संसाधित करना सरल बनाता है। उदाहरण के लिए, टिम बन्स के [[पर्ल डीबीआई]] एप्लिकेशन प्रोग्रामिंग इंटरफ़ेस (एपीआई) में, एपीआई के तर्क [[एसक्यूएल]] प्रश्नों का पाठ हो सकते हैं; इस प्रकार एक ही समय में कई भाषाओं में प्रोग्राम करना संभव हैI (उदाहरण के लिए, [[यहाँ दस्तावेज़]] में [[HTML|एचटीएमएल]], [[जावास्क्रिप्ट]] और एसक्यूएल का उपयोग करके [[वेब पृष्ठ]] बनाने के लिए किया जाता है)। प्रत्येक एसक्यूएल क्वेरी को प्रोग्रामेटिक रूप से अनुकूलित करने के लिए पर्ल चर इंटरपोलेशन का उपयोग, और प्रत्येक एसक्यूएल क्वेरी से परिणामी [[डेटा सेट]] को प्रोग्रामेटिक रूप से होल्ड करने के लिए संरचनाओं के रूप में पर्ल सरणियों या हैश के विनिर्देश, बड़ी मात्रा में डेटा को संभालने के लिए उच्च-स्तरीय तंत्र की अनुमति देता है। पर्ल उप-प्रोग्राम द्वारा पोस्ट-प्रोसेसिंग करता हैI <ref>{{cite book |last = Descartes |first = Alligator |title = प्रोग्रामिंग पर्ल डीबीआई: [पर्ल के साथ डेटाबेस प्रोग्रामिंग]|year = 2000 |publisher = O'Reilly |location = Beijing [u.a.] |isbn = 978-1-56592-699-8 |edition = 1 |author2 = Bunce, Tim |url = https://archive.org/details/programmingperld00desc }}</ref>पर्ल के प्रांरभिक संस्करणों में, दुभाषिया को [[ग्राहक की ओर]] डेटाबेस लाइब्रेरी के साथ जोड़कर डेटाबेस इंटरफेस बनाया गया था। यह पर्याप्त रूप से कठिन था कि यह केवल कुछ सबसे महत्वपूर्ण और सबसे व्यापक रूप से उपयोग किए जाने वाले डेटाबेस के लिए किया गया था, और इसने परिणामी डेटा को सीमित कर दिया। और परिणामी<code>पर्ल को</code>समय में केवल एक डेटाबेस इंटरफ़ेस का उपयोग करने के लिए निष्पादन योग्य<code>को</code>प्रतिबंधित कर दिया था।<ref>{{Cite web|title=पर्ल प्रोग्रामिंग - प्रोग्रामिंग भाषाओं के सिद्धांत|url=https://sites.google.com/a/principlesofprogram.com/www/perl|access-date=2021-05-18|website=sites.google.com|archive-date=October 8, 2020|archive-url=https://web.archive.org/web/20201008130113/https://sites.google.com/a/principlesofprogram.com/www/perl|url-status=dead}}</ref> | ||
पर्ल के | |||
पर्ल 5 में, डेटाबेस इंटरफेस पर्ल डीबीआई मॉड्यूल द्वारा कार्यान्वित किए जाते हैं। डीबीआई (डेटाबेस इंटरफ़ेस) मॉड्यूल पर्ल अनुप्रयोगों के लिए एकल, डेटाबेस-स्वतंत्र इंटरफ़ेस | पर्ल 5 में, डेटाबेस इंटरफेस पर्ल डीबीआई मॉड्यूल द्वारा कार्यान्वित किए जाते हैं। डीबीआई (डेटाबेस इंटरफ़ेस) मॉड्यूल पर्ल अनुप्रयोगों के लिए एकल, डेटाबेस-स्वतंत्र इंटरफ़ेस दर्शाता है, जबकि डीबीडी (डेटाबेस ड्राइवर) मॉड्यूल लगभग 50 विभिन्न डेटाबेसों तक पहुँचने के विवरण को संभालता है; अधिकांश [[अमेरिकी राष्ट्रीय मानक संस्थान]] एसक्यूएल डेटाबेस के लिए डीबीडी ड्राइवर हैं।<ref>{{Cite book|last1=Bunce|first1=Tim|url=https://books.google.com/books?id=WfoOrfuwcb8C&q=The+DBI+(Database+Interface)+module+presents+a+single,+database-independent+interface+to+Perl+applications,+while+the+DBD+(Database+Driver)+modules+handle+the+details+of+accessing+some+50+different+databases;+there+are+DBD+drivers+for+most+ANSI+SQL+databases|title=पर्ल डीबीआई प्रोग्रामिंग: पर्ल के साथ डाटाबेस प्रोग्रामिंग|last2=Descartes|first2=Alligator|date=2000-02-04|publisher="O'Reilly Media, Inc."|isbn=978-1-4493-1536-8|language=en}}</ref> | ||
डीबीआई डेटाबेस हैंडल और प्रश्नों के लिए कैशिंग प्रदान करता है, जो लंबे समय तक चलने वाले निष्पादन वातावरण जैसे mod_perl, में प्रदर्शन में अधिक सुधार कर सकता है।<ref>{{cite web |last = Bekman |first = Stas |title = Mod_perl के तहत डेटाबेस के साथ कुशल कार्य|url = http://perl.apache.org/docs/1.0/guide/performance.html#Efficient_Work_with_Databases_under_mod_perl |access-date = 2007-09-01 |archive-date = August 22, 2007 |archive-url = https://web.archive.org/web/20070822162513/http://perl.apache.org/docs/1.0/guide/performance.html#Efficient_Work_with_Databases_under_mod_perl |url-status = live }}</ref>उच्च मात्रा वाले सिस्टम को [[स्लैशडॉट प्रभाव]] के रूप में लोड स्पाइक्स को रोकने में उच्च-वॉल्यूम सिस्टम की मदद करना।<ref>{{Cite book|last=Pachev|first=Sasha|url=https://books.google.com/books?id=vz6PcTdo8VUC&q=DBI+provides+caching+for+database+handles+and+queries,+which+can+greatly+improve+performance+in+long-lived+execution+environments+such+as+mod+perl,%5B100%5D+helping+high-volume+systems+avert+load+spikes+as+in+the+Slashdot+effect|title=MySQL आंतरिक को समझना: एक महान डाटाबेस की खोज और सुधार करना|date=2007-04-10|publisher="O'Reilly Media, Inc."|isbn=978-0-596-55280-0|language=en}}</ref> | |||
आधुनिक पर्ल अनुप्रयोगों में, विशेष रूप से कैटेलिस्ट जैसे [[वेब ढांचा|वेब फ्रेमवर्क]] का उपयोग करके लिखे गए, डीबीआई मॉड्यूल का उपयोग प्रायः [[ऑब्जेक्ट-रिलेशनल मैपर|ऑब्जेक्ट-रिलेशनल मैपर्स]] जैसे डीबीआईएक्स::क्लास, क्लास::डीबीआई के माध्यम से अप्रत्यक्ष रूप से किया जाता है।<ref>{{Cite web|url=https://metacpan.org/pod/Class::DBI|title=क्लास :: डीबीआई - सिंपल डेटाबेस एब्स्ट्रेक्शन - metacpan.org|website=metacpan.org|access-date=2020-04-08|archive-date=August 6, 2020|archive-url=https://web.archive.org/web/20200806100410/https://metacpan.org/pod/Class::DBI|url-status=live}}</ref><ref>{{Cite web|url=https://metacpan.org/pod/Rose::DB::Object|title=गुलाब :: डीबी :: ऑब्जेक्ट - एक्स्टेंसिबल, उच्च प्रदर्शन ऑब्जेक्ट-रिलेशनल मैपर (ओआरएम)। - metacpan.org|website=metacpan.org|access-date=2020-04-08|archive-date=August 6, 2020|archive-url=https://web.archive.org/web/20200806085143/https://metacpan.org/pod/Rose::DB::Object|url-status=live}}</ref> जो एसक्यूएल प्रश्न उत्पन्न करता है और एप्लिकेशन लेखक को डेटा को पारदर्शी रूप से संभालता है।<ref>{{Cite web|title=टी एसक्यूएल डेवलपर संदर्भ पूछताछ|url=http://pdfpremiumfree.com/download/t-sql-querying-developer-reference-pdf/|access-date=2021-05-18|website=pdfpremiumfree.com|language=en}}</ref> | |||
== तुलनात्मक प्रदर्शन == | == तुलनात्मक प्रदर्शन == | ||
[[कंप्यूटर भाषा बेंचमार्क गेम]] कई प्रोग्रामिंग भाषाओं में विशिष्ट प्रोग्रामिंग समस्याओं के कार्यान्वयन के प्रदर्शन की तुलना करता है।<ref>{{cite web |url = http://alioth.debian.org/projects/benchmarksgame/ |title = अलीओथ: द कंप्यूटर लैंग्वेज बेंचमार्क गेम: प्रोजेक्ट इन्फो|access-date = 2011-01-13 |publisher = [[Alioth]] |archive-url = https://web.archive.org/web/20130325192723/https://alioth.debian.org/projects/benchmarksgame/ |archive-date = March 25, 2013 |url-status = dead |df = mdy-all }}</ref> सबमिट किए गए पर्ल कार्यान्वयन | [[कंप्यूटर भाषा बेंचमार्क गेम]] कई प्रोग्रामिंग भाषाओं में विशिष्ट प्रोग्रामिंग समस्याओं के कार्यान्वयन के प्रदर्शन की तुलना करता है।<ref>{{cite web |url = http://alioth.debian.org/projects/benchmarksgame/ |title = अलीओथ: द कंप्यूटर लैंग्वेज बेंचमार्क गेम: प्रोजेक्ट इन्फो|access-date = 2011-01-13 |publisher = [[Alioth]] |archive-url = https://web.archive.org/web/20130325192723/https://alioth.debian.org/projects/benchmarksgame/ |archive-date = March 25, 2013 |url-status = dead |df = mdy-all }}</ref> सबमिट किए गए पर्ल कार्यान्वयन सामान्यतः मेमोरी-यूसेज स्पेक्ट्रम के उच्च अंत की ओर प्रदर्शन करते हैं और विविध गति परिणाम देते हैं। बेंचमार्क गेम में पर्ल का प्रदर्शन व्याख्या की गई भाषाओं के लिए विशिष्ट है।<ref>{{cite web |url = http://benchmarksgame.alioth.debian.org/u32/which-programs-are-fastest.php?v8=on&lua=on&jruby=on&php=on&python3=on&yarv=on&perl=on |archive-url = https://web.archive.org/web/20130517145336/http://benchmarksgame.alioth.debian.org/u32/which-programs-are-fastest.php?v8=on&lua=on&jruby=on&php=on&python3=on&yarv=on&perl=on |url-status = dead |archive-date = 2013-05-17 |title = कौन से प्रोग्राम सबसे तेज़ हैं?|access-date = 2011-01-13 |work = Computer Language Benchmarks Game |publisher = [[Alioth]] }}</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 था, जिसने सबसे सरल कारणों को संबोधित करने की डिमांड की थी कि छोटे पर्ल प्रोग्राम तीव्रता से लागू किए गए थे: कॉमन गेटवे इंटरफेस [[वर्ल्ड वाइड वेब]] डेवलपमेंट हैं। एक्टिवस्टेट, माइक्रोसॉफ्ट [[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> | |||
=== अनुकूलन === | === अनुकूलन === | ||
सबसे महत्वपूर्ण | सबसे महत्वपूर्ण अन्य भाषाओं [जैसे C(प्रोग्रामिंग भाषा)] में लिखी जा सकती है, जिसे सरल इनलाइन मॉड्यूल या अधिक जटिल, लेकिन कोमल , [[एक्सएस (पर्ल)]] तंत्र के माध्यम से पर्ल से जोड़ा जा सकता है।<ref>{{cite web |url = https://metacpan.org/module/Inline |title = इनलाइन - metacpan.org|access-date = 2011-01-26 |last = Ingerson |first = Brian |publisher = [[CPAN]] |url-status = dead |archive-url = https://web.archive.org/web/20130613163723/https://metacpan.org/module/Inline |archive-date = June 13, 2013 }}</ref> | ||
== पर्ल 5 == | == पर्ल 5 == | ||
पर्ल 5, जिसे | पर्ल 5, जिसे सामान्यतः पर्ल कहा जाता है, सक्रिय रूप से विकसित होना प्रस्तावित है। पर्ल 5.12.0 अप्रैल 2010 में पर्ल 6 के डिजाइन से प्रभावित कुछ नई विशेषताओं के साथ प्रस्तावित किया गया था,<ref name="5120delta" /><ref name="heise2010">{{cite web |url = http://www.h-online.com/open/news/item/Perl-5-12-0-released-Update-976919.html |archive-url = https://web.archive.org/web/20100419023449/http://www.h-online.com/open/news/item/Perl-5-12-0-released-Update-976919.html |archive-date = April 19, 2010 |title = पर्ल 5.12.0 जारी - अद्यतन|access-date = 2011-01-08 |date = 2010-04-13 |publisher = Heise Media UK }}</ref> इसके बाद पर्ल 5.14.1 (17 जून, 2011 को प्रस्तावित), पर्ल 5.16.1 (9 अगस्त, 2012 को प्रस्तावित किया गया<ref>{{cite web |url = http://www.perlmonks.org/?node_id=986397 |access-date = 2012-08-26 |date = 2012-08-09 |title = पर्ल 5.16.1 जारी!|archive-date = December 2, 2012 |archive-url = https://web.archive.org/web/20121202012457/http://www.perlmonks.org/?node_id=986397 |url-status = live }}</ref>), और पर्ल 5.18.0 (18 मई, 2013 को प्रस्तावित) किया गया था। पर्ल 5 विकास संस्करण मासिक आधार पर प्रस्तावित किए जाते हैं, प्रमुख प्रस्तावित प्रति वर्ष आते हैं।<ref>{{cite web |url = https://lwn.net/Articles/484297/ |access-date = 2012-03-28 |date = 2012-02-29 |publisher = LWN.net |title = अजेय पर्ल रिलीज़ ट्रेन?|archive-date = August 22, 2016 |archive-url = https://web.archive.org/web/20160822222857/http://lwn.net/Articles/484297/ |url-status = live }}</ref> | ||
अन्य प्रोग्रामिंग भाषाओं के लिए इसी प्रकार के शोधों की तुलना में, पर्ल प्रोग्रामिंग के लिए इंटरनेट शोधों का सापेक्षिक अनुपात 2005 में लगभग 10% से घटकर 2011 में लगभग 2% और 2020 में लगभग 0.7% हो गया।<ref>{{cite web |title = टीआईओबीई प्रोग्रामिंग कम्युनिटी इंडेक्स पर्ल|author = TIOBE Software Index |year = 2020 |url = https://www.tiobe.com/tiobe-index/ |access-date = 2020-02-06 |archive-date = February 25, 2018 |archive-url = https://web.archive.org/web/20180225101948/https://www.tiobe.com/tiobe-index/ |url-status = live }}</ref> | |||
== राकू (पर्ल 6) == | == राकू (पर्ल 6) == | ||
{{Main|राकू (प्रोग्रामिंग भाषा)}} | {{Main|राकू (प्रोग्रामिंग भाषा)}} | ||
[[Image:Camelia.svg|thumb|right|200px|कैमेलिया, पर्ल 6 प्रोजेक्ट का लोगो<ref>{{cite web |url = http://perl6.org/ |title = पर्ल 6|access-date = 2011-02-27 |publisher = The पर्ल 6Project |archive-date = February 21, 2011 |archive-url = https://web.archive.org/web/20110221094526/http://perl6.org/ |url-status = live }}</ref>]]2000 | [[Image:Camelia.svg|thumb|right|200px|कैमेलिया, पर्ल 6 प्रोजेक्ट का लोगो<ref>{{cite web |url = http://perl6.org/ |title = पर्ल 6|access-date = 2011-02-27 |publisher = The पर्ल 6Project |archive-date = February 21, 2011 |archive-url = https://web.archive.org/web/20110221094526/http://perl6.org/ |url-status = live }}</ref>]]2000 के पर्ल सम्मेलन में, जॉन ऑरवेंट ने प्रमुख नई भाषा-पहल के लिए स्थिति बनायीं ।<ref>{{cite web |url = http://www.nntp.perl.org/group/perl.perl6.meta/2000/10/msg424.html |title = लैरी की बात का प्रतिलेखन|access-date = 2011-01-25 |last = Torkington |first = Nathan |publisher = nntp.perl.org |archive-date = May 1, 2011 |archive-url = https://web.archive.org/web/20110501081806/http://www.nntp.perl.org/group/perl.perl6.meta/2000/10/msg424.html |url-status = live }}</ref> इसके कारण पर्ल 6 के कहे जाने वाले भाषा के नए स्वरूप पर काम प्रारम्भ करने का निर्णय लिया गया। पर्ल समुदाय से बड़े पैमाने पर नई भाषा सुविधाओं के प्रस्ताव मांगे गए, जिन्होंने टिप्पणियों के लिए 300 से अधिक अनुरोध प्रस्तुत किए।<ref>{{Cite web|title=Perl6 - पर्ल का भविष्य|url=https://www.java-samples.com/showtutorial.php?tutorialid=1443|access-date=2021-05-18|website=www.java-samples.com}}</ref> | ||
वॉल ने अगले कुछ | वॉल ने अगले कुछ वर्ष आरएफसी और पर्ल 6 के लिए सुसंगत फ़्रेम में संश्लेषित किया। उन्होंने एपोकैलिप्स नामक दस्तावेजों की श्रृंखला में पर्ल 6 के लिए अपना डिजाइन दर्शाया{{snd}}प्रोग्रामिंग पर्ल में अध्यायों के अनुरूप क्रमांकित करना। {{as of|2011|जनवरी}}, पर्ल 6 के विकासशील विनिर्देश को सिनॉप्स नामक डिज़ाइन दस्तावेज़ों में समाहित किया गया था{{snd}}एपोकैलिप्स के अनुरूप क्रमांकित करना।<ref name="syn6">{{cite web |url = http://perlcabal.org/syn/ |title = आधिकारिक पर्ल 6 दस्तावेज़ीकरण|access-date = 2011-01-25 |publisher = The Perl 6 Project |archive-url = https://web.archive.org/web/20090831103918/http://perlcabal.org/syn/ |archive-date = August 31, 2009 |url-status = dead }}</ref> | ||
ब्रैडली एम. कुह्न द्वारा थीसिस वर्क, वॉल द्वारा निरीक्षण, पर्ल के वर्त्तमान समय के रूप में [[जावा वर्चुअल मशीन]] के संभावित उपयोग पर विचार किया।<ref>{{cite journal |last = Kuhn |first = Bradley |author-link = Bradley M. Kuhn |title = पर्ल को जावा वर्चुअल मशीन में पोर्ट करने पर विचार|publisher = University of Cincinnati |date = January 2001 |url = http://www.ebb.org/bkuhn/writings/technical/thesis/ |access-date = 2008-06-28 |journal = |archive-date = March 21, 2008 |archive-url = https://web.archive.org/web/20080321164747/http://ebb.org/bkuhn/writings/technical/thesis/ |url-status = live }}</ref> कुह्न की थीसिस ने इस दृष्टिकोण को समस्याग्रस्त दिखाया। 2001 में, यह निर्णय लिया गया कि पर्ल 6 पैरेट [[आभासी मशीन]] नामक क्रॉस-लैंग्वेज वर्चुअल मशीन पर चलेगा। इसका अर्थ यह होगा कि पैरेट को लक्षित करने वाली अन्य भाषाओं को सीपीएएन तक मूल पहुंच प्राप्त होगी, जिससे क्रॉस-लैंग्वेज विकास के कुछ स्तर की अनुमति होगी।{{cn|date=December 2020}} | |||
{{ | 2005 में, ऑड्रे टैंग ने पग्स (प्रोग्रामिंग) प्रोजेक्ट बनाया, हास्केल (प्रोग्रामिंग लैंग्वेज) में पर्ल 6 का कार्यान्वयन है। यह पर्ल 6 भाषा (वास्तविक कार्यान्वयन के विकास से भिन्न) के लिए परीक्षण मंच के रूप में कार्य करता है, और प्रस्तावित रखता है{{snd}}भाषा डिजाइनरों को अन्वेषण करने की अनुमति देता है। पग्स परियोजना ने [[मुफ़्त बाते|लाइबेरा चैट]] राकू आईआरसी चैनल के निकटतम केंद्रित सक्रिय पर्ल/हास्केल क्रॉस-लैंग्वेज समुदाय को उत्पन्न किया। पर्ल 6 डिज़ाइन टीम द्वारा कई कार्यात्मक प्रोग्रामिंग प्रभावों को अवशोषित किया गया।<ref>{{Cite book|last=Chromatic|url=https://books.google.com/books?id=JUjmsgEACAAJ|title=आधुनिक पर्ल|date=2015|publisher=Pragmatic Bookshelf|isbn=978-1-68050-088-2|language=en}}</ref> | ||
2012 में, पर्ल 6 का विकास मुख्य रूप से दो कंपाइलरों पर केंद्रित था:<ref>{{cite web |url = http://perl6.org/compilers/features |title = पर्ल 6 कंपाइलर्स की फीचर तुलना|access-date = March 28, 2012 |archive-url = https://web.archive.org/web/20170811073233/https://perl6.org/compilers/features |archive-date = August 11, 2017 |url-status = dead }}</ref> | |||
# रकूदो, पैरेट वर्चुअल मशीन और जावा वर्चुअल मशीन पर चलने वाला कार्यान्वयन।<ref>{{cite web |last = Worthington |first = Jonathan |title = Rakudo JVM समाचार: अधिक परीक्षण, साथ ही थ्रेड और प्रॉमिस प्रोटोटाइप|url = http://6guts.wordpress.com/2013/07/15/rakudo-jvm-news-more-tests-plus-thread-and-promise-prototypes/ |work = 6guts |date = July 15, 2013 |access-date = July 24, 2013 |archive-date = October 5, 2013 |archive-url = https://web.archive.org/web/20131005055559/http://6guts.wordpress.com/2013/07/15/rakudo-jvm-news-more-tests-plus-thread-and-promise-prototypes/ |url-status = live }}</ref> | |||
# [[Niecza|नैक्ज़ा]], जो [[सामान्य भाषा रनटाइम|सामान्य भाषा वर्त्तमान समय]] को लक्षित करता है। | |||
2013 में, [[MoarVM|मोअरवम]] ("मेटामॉडल ऑन ए वर्त्तमान समय"), मुख्य रूप से राकुडो के लिए डिज़ाइन की गई सी भाषा-आधारित वर्चुअल मशीन की घोषणा की गई थी।<ref>{{cite web |last = Worthington |first = Jonathan |title = MoarVM: NQP और Rakudo के लिए एक वर्चुअल मशीन|url = http://6guts.wordpress.com/2013/05/31/moarvm-a-virtual-machine-for-nqp-and-rakudo/ |work = 6guts |date = May 31, 2013 |access-date = July 24, 2013 |archive-date = July 9, 2013 |archive-url = https://web.archive.org/web/20130709185252/http://6guts.wordpress.com/2013/05/31/moarvm-a-virtual-machine-for-nqp-and-rakudo/ |url-status = live }}</ref> | |||
अक्टूबर 2019 में, पर्ल 6 का नाम परिवर्तित करके राकू कर दिया गया।<ref>{{cite web |url=https://lwn.net/Articles/802329/ |title=नाम बदलें|access-date=November 10, 2019 |archive-url=https://web.archive.org/web/20191017155422/https://lwn.net/Articles/802329/ |archive-date=October 17, 2019 |url-status=dead }}</ref> | |||
{{As of|2017}} केवल रकूदो कार्यान्वयन और मोअरवम सक्रिय विकास के अधीन हैं, और अन्य आभासी मशीनें, जैसे कि जावा वर्चुअल मशीन और जावास्क्रिप्ट, समर्थित हैं।<ref>{{cite web |url=https://github.com/rakudo/rakudo/ |title=ऊंट|publisher=GitHub.com |access-date=2013-09-21 |archive-date=July 29, 2017 |archive-url=https://web.archive.org/web/20170729084734/https://github.com/rakudo/rakudo/ |url-status=live }}</ref> | |||
== पर्ल 7 == | |||
पर्ल 7 की घोषणा 24 जून 2020 को द पर्ल कॉन्फ्रेंस इन द क्लाउड में पर्ल 5 के उत्तराधिकारी के रूप में की गई थी।<ref name="perl7" /><ref name="perl7announced" />पर्ल 5.32 के आधार पर, पर्ल 7 को आधुनिक पर्ल 5 कोड के साथ बैकवर्ड कम्पैटिबिलिटी बनाने की योजना बनाई गई थी; पर्ल 5 कोड, [[बॉयलरप्लेट कोड]] (प्राग्मा) के बिना हेडर को जोड़ने की आवश्यकता है <code>use compat::perl5;</code> संगत रहने के लिए, परन्तु आधुनिक कोड कुछ बॉयलरप्लेट को गिरा सकता है। | |||
चूंकि, पर्ल 7 पर जाने की योजना ने अधिक चर्चा की, और पर्ल संचालन समिति ने स्क्रिप्ट के लिए बैकवर्ड संगतता वाले विषयों से बचने के लिए इसे निरस्त कर दिया, जो प्रागमा और मॉड्यूल के लिए नहीं लिखे गए थे जो कि पर्ल 7 में डिफ़ॉल्ट बन जाएंगे। पर्ल 7 केवल तभी सामने आते हैं जब डेवलपर्स प्रमुख प्रस्तावित अपग्रेड को वारंट करने के लिए पर्याप्त सुविधाएँ जोड़ते हैं।<ref>{{cite web |last1=Perl Steering Council |title=पर्ल 7 का क्या हुआ?|url=https://blogs.perl.org/users/psc/2022/05/what-happened-to-perl-7.html |website=blogs.perl.org |access-date=7 July 2022}}</ref> | |||
== पर्ल समुदाय == | == पर्ल समुदाय == | ||
पर्ल की संस्कृति और समुदाय भाषा के साथ ही विकसित हुए हैं। [[यूज़नेट]] पहला सार्वजनिक स्थान था जिसमें पर्ल को | पर्ल की संस्कृति और समुदाय भाषा के साथ ही विकसित हुए हैं। [[यूज़नेट]] पहला सार्वजनिक स्थान था जिसमें पर्ल को प्रदर्शित किया गया था, लेकिन इसके विकास के समय, वर्ल्ड वाइड वेब के प्रारम्भ के साथ इंटरनेट-आधारित सेवाओं के विस्तार के विकास से पर्ल के समुदाय को आकार मिला। पर्ल को घेरने वाला समुदाय, वास्तव में, वॉल की पहली अनियन की स्थिति का विषय था।<ref>{{cite web |url = http://grnlight.net/index.php/programming-articles/100-perl-culture |title = पर्ल कल्चर (प्याज का पहला राज्य उर्फ)|first = Larry |last = Wall |author-link = Larry Wall |date = 2014-05-22 |access-date = May 22, 2014 |archive-date = May 22, 2014 |archive-url = https://web.archive.org/web/20140522141559/http://grnlight.net/index.php/programming-articles/100-perl-culture |url-status = live }}</ref> | ||
===अनियन की स्थिति=== | |||
पर्ल और उसके समुदाय की प्रगति पर वॉल के वार्षिक मुख्य-शैली के सारांश का नाम अनियन की स्थिति है। वे पर्ल की संस्कृति, व्यापक हैकर संस्कृति, वॉल की भाषाई पृष्ठभूमि, कभी-कभी उनके पारिवारिक जीवन और कभी-कभी उनकी ईसाई पृष्ठभूमि के संदर्भों को नियोजित करते हुए उनके हॉलमार्क हास्य की विशेषता है।<ref>{{cite web |title = प्याज का दूसरा राज्य|author = Larry Wall |url = http://www.wall.org/~larry/onion/onion.html |access-date = 2012-10-12 |archive-date = July 17, 2012 |archive-url = https://web.archive.org/web/20120717014443/http://www.wall.org/~larry/onion/onion.html |url-status = live }} (Search for 'church')</ref> | |||
प्रत्येक वार्ता पहले विभिन्न पर्ल सम्मेलनों में दी जाती है और अंततः इसे ऑनलाइन भी प्रकाशित किया जाता है। | प्रत्येक वार्ता पहले विभिन्न पर्ल सम्मेलनों में दी जाती है और अंततः इसे ऑनलाइन भी प्रकाशित किया जाता है। | ||
=== पर्ल शगल === | === पर्ल शगल === | ||
==== | ==== जफस ==== | ||
ईमेल, यूज़नेट, और संदेश बोर्ड पोस्टिंग में, [[बस एक और पर्ल हैकर]] ( | ईमेल, यूज़नेट, और संदेश बोर्ड पोस्टिंग में, [[बस एक और पर्ल हैकर|जस्ट अदर पर्ल हैकर]] (जफस) प्रोग्राम सरल है, जिसका प्रारम्भ रान्डल एल. श्वार्ट्ज ने किया था, जो प्रारंभिक व्यवसाय पर्ल प्रशिक्षकों में से थे।<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> पर्ल कल्चर की भाषा में, पर्ल प्रोग्रामर्स को पर्ल हैकर्स के रूप में जाना जाता है, और इससे जस्ट अदर पर्ल हैकर वाक्यांश को प्रिंट करने के लिए लघु प्रोग्राम लिखने का अभ्यास प्राप्त होता है। मूल अवधारणा की भावना में, ये प्रोग्राम मध्यम रूप से अस्पष्ट हैं और ईमेल या यूज़नेट संदेश के हस्ताक्षर में फिट होने के लिए बहुत कम हैं। श्वार्ट्ज द्वारा विकसित "प्रामाणिक" जाफ में अंत में अल्पविराम सम्मिलित है, चूंकि इसे प्रायः छोड़ दिया जाता है।<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> | ||
==== पर्ल [[गोल्फ़]] ==== | ==== पर्ल [[गोल्फ़]] ==== | ||
पर्ल गोल्फ | पर्ल गोल्फ पर्ल कार्यक्रम में उपयोग किए जाने वाले पात्रों (कुंजी स्ट्रोक) की संख्या को कम से कम करने का शगल है, ठीक उसी प्रकार जिस प्रकार से गोल्फ खिलाड़ी एक समय में जितना संभव हो उतना शॉट लेने का प्रयास करते हैं। वाक्यांश का पहला प्रयोग<ref name="perl-golf-coined">{{cite newsgroup |author = Greg Bacon |title = पुन: एक टुकड़ा में एक मूल्य बढ़ाना|message-id = 7imnti$mjh$1@info2.uah.edu |newsgroup = comp.lang.perl.misc |date = 1999-05-28 |url = http://groups.google.com/group/comp.lang.perl.misc/msg/7b97c434492c8d20 |access-date = 2011-07-12 |archive-date = July 7, 2011 |archive-url = https://web.archive.org/web/20110707134412/http://groups.google.com/group/comp.lang.perl.misc/msg/7b97c434492c8d20 |url-status = live }}</ref> नवागंतुक को सिखाने के लिए पैदल यात्री कोड और अनुभवी पर्ल प्रोग्रामर को खुश करने के लिए संक्षिप्त हैक के बीच के अंतर पर जोर देता है, बाद वाले का उदाहरण [[JAPH|जफस]] है जो पहले से ही यूज़नेट पोस्टिंग और अन्य स्थानों पर हस्ताक्षर में उपयोग किए गए थे। इसी प्रकार के स्टंट पिछले दशकों में भाषा [[एपीएल (प्रोग्रामिंग भाषा)]] में अनाम शगल थे। [[आरएसए (एल्गोरिदम)]] एन्क्रिप्शन करने वाले प्रोग्राम को लिखने के लिए पर्ल के उपयोग ने इस शगल में व्यापक और व्यावहारिक रुचि को प्रेरित किया।<ref name="rsa">{{cite web |url = http://www.cypherspace.org/rsa/pureperl.html |title = पर्ल की 5 लाइनों में आरएसए|access-date = 2011-01-10 |last = Back |first = Adam |archive-date = January 19, 2011 |archive-url = https://web.archive.org/web/20110119154503/http://www.cypherspace.org/rsa/pureperl.html |url-status = live }}</ref> बाद के वर्षों में, शब्द [[कोड गोल्फ]] को अन्य भाषाओं में शगल के लिए लागू किया गया है।<ref>{{cite web |url = http://codegolf.com/ |title = कोड गोल्फ: कोड गोल्फ क्या है?|publisher = 29degrees |year = 2007 |access-date = November 26, 2018 |archive-url = https://web.archive.org/web/20120113152453/http://codegolf.com/ |archive-date = January 13, 2012 |url-status = dead |df = mdy-all }}</ref> जुलाई 2000 में मोंटेरे, कैलिफोर्निया में पर्ल सम्मेलन 4.0 में पर्ल गोल्फ अपोकलीप्स आयोजित किया गया था। | ||
==== | ==== कहानियां ==== | ||
सी के साथ, 1990 के दशक के अंत में अस्पष्ट कोड प्रतियोगिताएं | सी के साथ, 1990 के दशक के अंत में अस्पष्ट कोड प्रतियोगिताएं प्रसिद्ध शगल थीं। अस्पष्ट पर्ल प्रतियोगिता 1996 से 2000 तक द [[पर्ल जर्नल]] द्वारा आयोजित प्रतियोगिता थी जिसने पर्ल के प्रारूप कोमलता का प्रमुख गुण बनाया। सबसे शक्तिशाली जैसी श्रेणियों के लिए पुरस्कार दिए गए थे - ऐसे कार्यक्रम जो अंतरिक्ष का कुशल उपयोग करते हैं - और "सर्वश्रेष्ठ चार-पंक्ति हस्ताक्षर" उन कार्यक्रमों के लिए जो यूज़नेट हस्ताक्षर ब्लॉक की शैली में 76 वर्णों की चार पंक्तियों में फिट होते हैं।<ref name="gallo03"> | ||
{{cite book |last1 = Gallo |first1 = Felix |title = Games, diversions, and Perl culture: best of the Perl journal |chapter = The Zeroth Obfuscated Perl Contest |editor= Jon Orwant |publisher = O'Reilly Media |year = 2003 |chapter-url = http://oreilly.com/catalog/tpj3/chapter/ch43.pdf |access-date = 2011-01-12 |url-status = dead |archive-url = https://web.archive.org/web/20091122114544/http://oreilly.com/catalog/tpj3/chapter/ch43.pdf |archive-date = November 22, 2009 |df = mdy-all }} | {{cite book |last1 = Gallo |first1 = Felix |title = Games, diversions, and Perl culture: best of the Perl journal |chapter = The Zeroth Obfuscated Perl Contest |editor= Jon Orwant |publisher = O'Reilly Media |year = 2003 |chapter-url = http://oreilly.com/catalog/tpj3/chapter/ch43.pdf |access-date = 2011-01-12 |url-status = dead |archive-url = https://web.archive.org/web/20091122114544/http://oreilly.com/catalog/tpj3/chapter/ch43.pdf |archive-date = November 22, 2009 |df = mdy-all }} | ||
</ref> | </ref> | ||
==== कविता ==== | ==== कविता ==== | ||
पर्ल कविता कविता लिखने का अभ्यास है जिसे कानूनी पर्ल कोड के रूप में संकलित किया जा सकता है, उदाहरण के लिए [[ब्लैक पर्ल]] के रूप में जाना जाने वाला | पर्ल कविता, कविता लिखने का अभ्यास है जिसे कानूनी पर्ल कोड के रूप में संकलित किया जा सकता है, उदाहरण के लिए [[ब्लैक पर्ल]] के रूप में जाना जाने वाला टुकड़ा है। पर्ल भाषा में उपयोग किए जाने वाले अंग्रेजी शब्दों की बड़ी संख्या से पर्ल कविता संभव हो गई है। पर्लमॉन्क्स पर समुदाय के लिए नई कविताएँ नियमित रूप से दर्शायी जाती हैं।<ref>{{cite web |url = http://www.perlmonks.org/?node_id=1590 |title = पर्ल कविता|access-date = 2011-01-27 |publisher = [[PerlMonks]] |archive-date = September 27, 2007 |archive-url = https://web.archive.org/web/20070927000904/http://www.perlmonks.org/?node_id=1590 |url-status = live }}</ref> | ||
=== आईआरसी पर पर्ल === | === आईआरसी पर पर्ल === | ||
कई [[इंटरनेट रिले चैट]] चैनल पर्ल और इसके कुछ मॉड्यूल के लिए समर्थन प्रदान करते हैं। | कई [[इंटरनेट रिले चैट]] चैनल पर्ल और इसके कुछ मॉड्यूल के लिए समर्थन प्रदान करते हैं। | ||
Line 348: | Line 318: | ||
|} | |} | ||
=== सीपैन एक्मे === | |||
सीपैन पर विशुद्ध रूप से मनोरंजन के लिए लिखे गए कोड के कई उदाहरण भी हैं। <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|एक्मे कारपोरेशन]] नामस्थान को ऐसे मॉड्यूल के लिए भिन्न रखा है जो प्रकृति में रोचक हैं (लेकिन इसकी सीमा शोधपूर्ण या प्रायोगिक कोड या किसी अन्य मॉड्यूल को सम्मिलित करने के लिए चौड़ा हो गया है जो कभी भी उत्पादन में उपयोग करने के लिए नहीं है)। एक्मे के कुछ मॉड्यूल जानबूझकर रोचक उपाय से लागू किए गए हैं। इसमें <code>Acme::Bleach</code>, यह भी सम्मिलित है जो <code>Acme::</code> नामस्थान, के पहले मॉड्यूल में से हैI <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}} | |||
पर्ल समुदाय ने [[Acme Corporation]] नामस्थान को ऐसे मॉड्यूल के लिए | |||
== उदाहरण कोड == | == उदाहरण कोड == | ||
पर्ल के पुराने संस्करणों में, [[ | पर्ल के पुराने संस्करणों में, कोई व्यक्ति [[hello world]] प्रोग्राम को इस प्रकार लिखेगा: | ||
< | <syntaxhighlight lang="perl"> | ||
print "Hello, World!\n"; | |||
</ | </syntaxhighlight> | ||
यहां एक अधिक जटिल पर्ल प्रोग्राम है, जो किसी दिए गए शुरुआती मान से सेकंड की गणना करता है: | यहां एक अधिक जटिल पर्ल प्रोग्राम है, जो किसी दिए गए शुरुआती मान से सेकंड की गणना करता है: | ||
< | <syntaxhighlight lang="perl"> | ||
#!/usr/bin/perl | #!/usr/bin/perl | ||
use strict; | |||
use warnings; | |||
my ( $remaining, $total ); | |||
$ | $remaining = $total = shift(@ARGV); | ||
STDOUT-> | STDOUT->autoflush(1); | ||
while ( $remaining ) { | |||
printf ( "Remaining %s/%s \r", $remaining--, $total ); | |||
sleep 1; | |||
} | } | ||
print "\n"; | |||
</ | </syntaxhighlight> | ||
पर्ल दुभाषिया का उपयोग कमांड लाइन पर | पर्ल दुभाषिया का उपयोग कमांड लाइन पर वन टाइम स्क्रिप्ट के लिए भी किया जा सकता है। निम्न उदाहरण (जैसा कि SH -कम्पेटिबल शेल से लिया गया है, जैसे बैश) वर्तमान निर्देशिका में "Robert" में .txt के साथ समाप्त होने वाली सभी फाइलों में स्ट्रिंग "Bob" का अनुवाद करता है: | ||
< | <syntaxhighlight lang="console"> | ||
$ perl -i.bak -lp -e ' | $ perl -i.bak -lp -e 's/Bob/Robert/g' *.txt | ||
</ | </syntaxhighlight> | ||
== आलोचना == | == आलोचना == | ||
पर्ल को इसके आलोचकों द्वारा विक्ट: लाइन | पर्ल को इसके आलोचकों द्वारा विक्ट: लाइन नॉइज़ और [[केवल-लिखने वाली भाषा]] के रूप में संदर्भित किया गया है। इस प्रकार का सबसे पहला उल्लेख रैंडल एल. श्वार्ट्ज द्वारा लिखित पर्ल 4 ट्यूटोरियल पुस्तक [[लर्निंग पर्ल]] के पहले संस्करण में था।<ref>{{cite journal |title = डेवलपर अद्यतन|volume = 2 |journal = Dr. Dobb's डेवलपर अद्यतन |publisher = Miller-Freeman |year = 1995 }}</ref> जिसके पहले अध्याय में वह कहता है: हां, कभी-कभी पर्ल बिन बुलाए लाइन नॉइज़ जैसा दिखता है, लेकिन अनुभवी पर्ल प्रोग्रामर के लिए, यह जीवन में मिशन के साथ [[अंततः,]]लाइन नॉइज़ जैसा दिखता है।<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" />पर्ल अवलोकन दस्तावेज़ पर्लिन्ट्रो बताता है कि अंतर्निहित मैजिक स्केलर चर के नाम विराम चिह्न या लाइन नॉइज़ के जैसे दिखते हैं। चूंकि, अंग्रेजी मॉड्यूल लंबे और छोटे विकल्प दोनों प्रदान करता है। पर्लस्टाइल दस्तावेज़ में कहा गया है कि व्हाइटस्पेस जोड़ने के लिए <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 आलोचकों से लाइन नॉइज़ का अनुरोध करते हैं, जिसमें अधिकांश विराम चिह्नों को हटाना और रेगेक्स प्रारूप का स्वच्छताकरण सम्मिलित है।<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" /> | |||
== यह भी देखें == | == यह भी देखें == | ||
{{Portal|Free and open-source software|Computer programming}} | {{Portal|Free and open-source software|Computer programming}} | ||
* [[पर्ल की रूपरेखा]] | * [[पर्ल की रूपरेखा]] | ||
* [[पर्ल डेटा लैंग्वेज]] | * [[पर्ल डेटा लैंग्वेज|पर्ल डेटा भाषा]] | ||
* [[पर्ल ऑब्जेक्ट पर्यावरण]] | * [[पर्ल ऑब्जेक्ट पर्यावरण]] | ||
* [[सादा पुराना दस्तावेज़ीकरण]] | * [[सादा पुराना दस्तावेज़ीकरण]] | ||
Line 416: | Line 383: | ||
==बाहरी संबंध== | ==बाहरी संबंध== | ||
{{Sister project links|commons=Category:Perl (programming language)|v=Topic:Perl|n=no|q=Perl|s=no|b=Perl Programming}} | {{Sister project links|commons=Category:Perl (programming language)|v=Topic:Perl|n=no|q=Perl|s=no|b=Perl Programming}} | ||
[[Category: Machine Translated Page]] | [[Category:All articles containing potentially dated statements]] | ||
[[Category: | [[Category:All articles with dead external links]] | ||
[[Category:All articles with failed verification]] | |||
[[Category:All articles with unsourced statements]] | |||
[[Category:Articles containing potentially dated statements from 2010]] | |||
[[Category:Articles containing potentially dated statements from 2011]] | |||
[[Category:Articles containing potentially dated statements from 2017]] | |||
[[Category:Articles with dead external links from November 2014]] | |||
[[Category:Articles with failed verification from June 2022]] | |||
[[Category:Articles with hatnote templates targeting a nonexistent page]] | |||
[[Category:Articles with invalid date parameter in template]] | |||
[[Category:Articles with unsourced statements from December 2020]] | |||
[[Category:Articles with unsourced statements from February 2016]] | |||
[[Category:Articles with unsourced statements from January 2016]] | |||
[[Category:Articles with unsourced statements from November 2017]] | |||
[[Category:CS1 English-language sources (en)]] | |||
[[Category:CS1 errors]] | |||
[[Category:Interwiki link templates| ]] | |||
[[Category:Lua-based templates]] | |||
[[Category:Machine Translated Page]] | |||
[[Category:Pages using Sister project links with default search|wikt]] | |||
[[Category:Pages with broken file links]] | |||
[[Category:Pages with empty portal template]] | |||
[[Category:Pages with script errors]] | |||
[[Category:Portal templates with redlinked portals]] | |||
[[Category:Short description with empty Wikidata description]] | |||
[[Category:Templates Vigyan Ready]] | |||
[[Category:Templates that add a tracking category]] | |||
[[Category:Templates that generate short descriptions]] | |||
[[Category:Templates using TemplateData]] | |||
[[Category:Templates using under-protected Lua modules]] | |||
[[Category:Webarchive template other archives]] | |||
[[Category:Webarchive template wayback links]] | |||
[[Category:Wikipedia fully protected templates|Sister project links]] |
Latest revision as of 13:03, 27 October 2023
पर्ल दो उच्च-स्तरीय, सामान्य-उद्देश्य, व्याख्या की गई, डायनामिक्स प्रोग्रामिंग भाषाओं का वर्ग है। पर्ल 5 को संदर्भित करता है, लेकिन 2000 से 2019 तक इसने स्वयं पुन: डिज़ाइन की गई सह-भाषा, पर्ल 6 को भी संदर्भित किया, इससे पहले कि अक्टूबर 2019 में बाद के नाम को सामान्यतः राकू (प्रोग्रामिंग भाषा) में परिवर्तन कर दिया गया।[1][2]
चूंकि पर्ल का सामान्यतः संक्षिप्त रूप नहीं है,[3] प्रैक्टिकल डेटा निकालना और रिपोर्टिंग भाषा सहित कई प्रकार से संक्षिप्त नाम का उपयोग किया जा रहा है।[4] पर्ल को लैरी वॉल द्वारा 1987 में सामान्य-उद्देश्य वाली यूनिक्स स्क्रिप्टिंग भाषा के रूप में विकसित किया गया था, जिससे कि रिपोर्ट प्रसंस्करण को सरल बनाया जा सके।[5] तत्पश्चात, इसमें कई परिवर्तन और संशोधन हुए हैं। राकू, जो 2000 में पर्ल 5 के नए स्वरूप के रूप में प्रारभ्म हुआ, अंततः भिन्न भाषा में विकसित हुआ। दोनों भाषाएँ भिन्न-भिन्न विकास टीमों द्वारा स्वतंत्र रूप से विकसित की जा रही हैं और उदारतापूर्वक एक-दूसरे से विचार उधार लेती हैं।
पर्ल भाषाएँ C(प्रोग्रामिंग भाषा), यूनिक्स शेल, AWK (प्रोग्रामिंग भाषा), और sed सहित अन्य प्रोग्रामिंग भाषाओं से सुविधाएँ उधार लेती हैं;[6] वे यूनिक्स कमांड की कई समकालीन सूची की मनमानी डेटा-लंबाई सीमा के बिना टेक्स्ट प्रोसेसिंग सुविधाएं प्रदान करते हैं।[7] पर्ल 5 ने 1990 के दशक के अंत में अपनी शक्तिशाली नियमित अभिव्यक्ति और स्ट्रिंग पार्सिंग क्षमताओं के कारण कॉमन गेटवे इंटरफ़ेस भाषा के रूप में व्यापक लोकप्रियता प्राप्त की।[8][9][10][11]
सीजीआई के अतिरिक्त, पर्ल 5 का उपयोग कार्यकारी प्रबंधक, नेटवर्क प्रोग्रामिंग, वित्त, जैव सूचना विज्ञान और अन्य अनुप्रयोगों जैसे ग्राफिकल यूज़र इंटरफ़ेस के लिए किया जाता है। इसके कोमलता और शक्ति के कारण इसे स्क्रिप्टिंग भाषाओं की स्विस आर्मी चेनसॉ का उपनाम दिया गया है,[12] और यह भी कि कुछ अन्य भाषाओं की तुलना में अधिक विशेष वर्णों के उपयोग के कारण कुरूपता पर विचार करते हैं।[13] 1998 में, इसे डक्ट टेप के रूप में भी संदर्भित किया गया था जो इंटरनेट को साथ रखता है, ग्लू भाषा के रूप में इसके सर्वव्यापी उपयोग और इसकी कथित अयोग्यता दोनों के संदर्भ में होते है।[14]
पर्ल अत्यधिक अभिव्यंजक प्रोग्रामिंग भाषा है: किसी दिए गए एल्गोरिथ्म के लिए स्रोत कोड लघु और अत्यधिक संकुचित हो सकता है।[15][16]
नाम
पर्ल को मूल रूप से "पर्ल" नाम दिया गया था। वॉल सकारात्मक अर्थों के साथ भाषा को लघु नाम देना चाहते थे। वॉल ने पर्ल के आधिकारिक प्रदर्शन से पहले वर्तमान समय में पर्ल प्रोग्रामिंग भाषा का शोध किया और नाम की वर्तनी में परिवर्तन कर दिया।[17]
पर्ल भाषा का वर्णन करते समय, नाम कैपिटलाइज़ होता है। प्रोग्राम का संदर्भ देते समय, नाम अनकैपिटलाइज्ड होता है क्योंकि अधिकांश यूनिक्स-जैसी फाइल सिस्टम केस-संवेदी होते हैं। प्रोग्रामिंग पर्ल के पहले संस्करण के प्रस्तावित होने से पहले, भाषा को पर्ल के रूप में संदर्भित करना सरल था। चूंकि, रैंडल एल. श्वार्ट्ज ने पुस्तक में भाषा के नाम को कैपिटलाइज़ किया जिससे टाइपसेट करते समय इसे अच्छे से प्रदर्शित किया जा सके। इस स्थिति के भेद को बाद में विहित के रूप में प्रलेखित किया गया था।[18]
नाम को कभी-कभी संक्षिप्त नाम के रूप में विस्तारित किया जाता है: प्रैक्टिकल एक्सट्रैक्शन तथा रिपोर्ट भाषा[19] और वॉल्स ओन पैथोलॉजिकली इक्लेक्टिक रबिश लिस्टर जो पर्ल के मैनुअल पेज में है।[20]
इतिहास
प्रारंभिक संस्करण
लैरी वॉल ने 1987 में पर्ल पर काम करना प्रारम्भ किया, जबकि यूनिसिस में 18 दिसंबर, 1987 को संस्करण 1.0 में प्रोग्रामर के रूप में काम कर रहे थे।[7][6]अगले कुछ वर्षों में भाषा का अधिक विस्तार हुआ।
1988 में प्रस्तावित हुई पर्ल 2 में अच्छा रेगुलर एक्सप्रेशन इंजन था। 1989 में प्रस्तावित पर्ल 3 ने बाइनरी डेटा स्ट्रीम के लिए समर्थन जोड़ा।
मूल रूप से, पर्ल के लिए दस्तावेज लंबा मैन पेज था। 1991 में, प्रोग्रामिंग पर्ल, जिसे कई पर्ल प्रोग्रामर अपने कवर के कारण कैमल बुक के रूप में जानते थे, प्रकाशित हुआ और भाषा के लिए वास्तविक संदर्भ बन गया। उसी समय, पर्ल संस्करण संख्या को 4 तक बढ़ा दिया गया था, भाषा में बड़े परिवर्तन को चिह्नित करने के लिए नहीं अन्यथा पुस्तक द्वारा अच्छी तरह से प्रलेखित संस्करण की पहचान करने के लिए था।
प्रारंभिक पर्ल 5
पर्ल 4 सुरक्षा प्रस्तावित की श्रृंखला के माध्यम से चला गया, 1993 में पर्ल 4.036 में समाप्त हुआ, जिसके बाद वॉल ने पर्ल 5 पर काम प्रारभ्म करने के लिए पर्ल 4 को छोड़ दिया। पर्ल 5 का प्रारंभिक डिजाइन 1994 में प्रस्तावित हुआ। पर्ल 5 पोर्टर्स मेलिंग लिस्ट की स्थापना मई 1994 में पर्ल 5 को भिन्न-भिन्न प्लेटफॉर्म पर पोर्ट करने के काम को समन्वित करने के लिए की गई थी।।[21]यह पर्ल 5 के विकास, सुरक्षा और पोर्टिंग के लिए प्राथमिक प्लेटफॉर्म बना हुआ है।
पर्ल 5.000 को 17 अक्टूबर 1994 को प्रस्तावित किया गया था।[22] यह दुभाषिया का लगभग पूर्ण पुनर्लेखन था, और इसने भाषा में कई नई सुविधाएँ जोड़ीं, जिनमें वस्तुएँ, संदर्भ, स्थानीय चर, शाब्दिक चर, और मॉड्यूलर सम्मलित हैं। महत्वपूर्ण रूप से, मॉड्यूल ने दुभाषिया को संशोधित किए बिना भाषा को विस्तारित करने के लिए तंत्र प्रदान किया। इसने कोर दुभाषिया को स्थिर करने की अनुमति दी, भले ही इसने साधारण पर्ल प्रोग्रामर को नई भाषा सुविधाओं को जोड़ने में सक्षम बनाया। पर्ल 5 सक्रिय विकास में है।
पर्ल 5.001 को 13 मार्च, 1995 को प्रस्तावित किया गया था। पर्ल 5.002 को 29 फरवरी, 1996 को नए प्रोटोटाइप विशेषता के साथ प्रस्तावित किया गया था। इसने मॉड्यूल लेखकों को उप-दिनचर्या बनाने की अनुमति दी। पर्ल 5.003 को सुरक्षा प्रस्तावित के रूप में 25 जून 1996 को प्रस्तावित किया गया था।[23]
पर्ल 5 इतिहास की सबसे महत्वपूर्ण घटनाओं में से भाषा के बाहर घटित हुई और यह इसके मॉड्यूल समर्थन का परिणाम था। 26 अक्टूबर 1995 को, व्यापक पर्ल आर्काइव नेटवर्क (सीपीएएन) को पर्ल भाषा और पर्ल मॉड्यूल के लिए सॉफ्टवेयर रिपॉजिटरी के रूप में स्थापित किया गया था, दिसंबर 2022 तक, इसके 43,865 वितरणों में 211,850 से अधिक मॉड्यूल हैं, जो 14,324 से अधिक लेखकों द्वारा लिखे गए हैं, और दुनिया भर में 245 से अधिक स्थानों पर दिखाई देते हैं।[24]
पर्ल 5.004 को 15 मई, 1997 को प्रस्तावित किया गया था, और इसमें अन्य बातों के अतिरिक्त, यूनिवर्सल पैकेज सम्मिलित था, जिसमें पर्ल को आधार वस्तु दी गई थी जिससे सभी वर्ग (कंप्यूटर प्रोग्रामिंग) स्वचालित रूप से प्राप्त हुए थे और मॉड्यूल के संस्करणों की आवश्यकता थी। अन्य महत्वपूर्ण विकास CGI.pm मॉड्यूल का समावेश था,[25] जिसने कॉमन गेटवे इंटरफेस के रूप में पर्ल की लोकप्रियता में योगदान दिया।[26]
पर्ल 5.004 ने माइक्रोसॉफ़्ट विंडोज़, प्लान 9, क्यूएनएक्स, और एमिगाओएस(AmigaOS) के लिए समर्थन जोड़ा।[25]
पर्ल 5.005 को 22 जुलाई 1998 को प्रस्तावित किया गया था। इस प्रस्तावित में रेगेक्स इंजन में कई संवर्द्धन, B::*
मॉड्यूल के माध्यम से बैकएंड में नए हुक, qr//
रेगेक्स उद्धरण ऑपरेटर, अन्य नए कोर मॉड्यूल का बड़ा चयन, और कई और ऑपरेटिंग सिस्टम के लिए अतिरिक्त समर्थन सम्मलित है, जिसमें बीओस((BeOS) हैं।[27]
2000–2020
प्रमुख संस्करण | नवीनतम अपडेट[28] | |
---|---|---|
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? |
पर्ल 5.6 को 22 मार्च, 2000 को प्रस्तावित किया गया था। प्रमुख परिवर्तनों में 64-बिट समर्थन, यूनिकोड स्ट्रिंग प्रतिनिधित्व, 2 जीआईबी (GiB) से अधिक फ़ाइलों के लिए समर्थन और कीवर्ड सम्मिलित थे।[29][30] पर्ल 5.6 को विकसित करते समय, सॉफ्टवेयर वर्जनिंग संस्करण योजना को अन्य ओपन सोर्स परियोजनाओं के समान परिवर्तन का निर्णय लिया गया था; 5.005_63 के बाद, उचित संस्करण 5.5.640 बन गया, जिसमें विषम संख्या वाले विकास संस्करण और सम संख्या वाले स्थिर संस्करण की योजना थी।[31]
2000 में, वाल ने समुदाय से पर्ल के नए संस्करण के लिए सलाह का आह्वान किया। इस प्रक्रिया के परिणामस्वरूप 361 आरएफसी(RFC) दस्तावेज़ तैयार हुए जिनका उपयोग पर्ल 6 के विकास में मार्गदर्शन के लिए किया जाना था। पर्ल 6. 2001 में,[32] पर्ल 6 के लिए एपोकैलिप्स पर काम प्रारभ्म हुआ, दस्तावेजों की श्रृंखला जो परिवर्तन अनुरोधों को सारांशित करने और पर्ल की आगामी पीढ़ी के डिजाइन को दर्शाने के लिए था। उन्हें औपचारिक दस्तावेज़ के अतिरिक्त आरएफसी के डाइजेस्ट के रूप में दर्शाया गया था। इस बिंदु पर, पर्ल 6 केवल भाषा के विवरण के रूप में अस्तित्व में था।[citation needed]
पर्ल 5.8 पहली बार 18 जुलाई, 2002 को प्रस्तावित किया गया था, और उस समय से लगभग वार्षिक अद्यतन किया गया था। पर्ल 5.8 ने यूनिकोड समर्थन में सुधार किया, नया इनपुट/आउटपुट कार्यान्वयन जोड़ा,संख्यात्मक सटीकता में सुधार किया, और कई नए मॉड्यूल जोड़े।[33] 2013 तक यह संस्करण अभी भी पर्ल का सबसे लोकप्रिय संस्करण बना हुआ है और इसका उपयोग रे Red Hat 5, Suse 10, Solaris 10, HP-UX 11.31 और AIX 5 द्वारा किया जाता है।
2004 में, सारांश पर काम प्रारम्भ हुआ – दस्तावेज़ जो मूल रूप से अपोकलीप्सेस को सारांशित करते थे, लेकिन जो पर्ल 6 भाषा के लिए विनिर्देश बन गए। फरवरी 2005 में, ऑड्रे टैंग ने हास्केल में लिखे पर्ल 6 इंटरप्रेटर पग्स पर काम करना प्रारम्भ किया।[34] पर्ल 6 को वास्तविकता बनाने की दिशा में यह पहला ठोस प्रयास था। यह प्रयास 2006 में बंद हो गया।[35]
पोनी (PONIE) पर्ल ऑन न्यू इंटरनल इंजन का संक्षिप्त नाम है। पोनी परियोजना 2003 से 2006 तक अस्तित्व में थी और पर्ल 5 और 6 के बीच सेतु बनना था। यह पैरेट पर्ल 6 आभासी मशीन पर चलने के लिए पर्ल 5 दुभाषिया को फिर से लिखने का प्रयास था। लक्ष्य दुनिया भर की हजारों कंपनियों में पर्ल 5 कोड की लाखों लाइनों का भविष्य सुनिश्चित करना था।[36] पोनी परियोजना 2006 में समाप्त हो गई और अब इसे सक्रिय रूप से विकसित नहीं किया जा रहा है। पोनी के भाग के रूप में पर्ल 5 दुभाषिया में किए गए कुछ सुधारों को उस परियोजना में जोड़ दिया गया था।[37]
18 दिसम्बर 2007 को पर्ल 1.0, पर्ल 5.10.0 की 20वीं वर्षगांठ प्रस्तावित की गई। पर्ल 5.10.0 में उल्लेखनीय नई विशेषताएं सम्मिलित हैं, जो पर्ल 6 के निकटतम हैं। इनमें स्विच स्टेटमेंट (जिसे दिया गया "/" कब कहा जाता है), रेगुलर एक्सप्रेशन अपडेट और स्मार्ट मैच ऑपरेटर (~~) सम्मिलित हैं।[38][39]इसी समय के निकटतम, पैरेट आभासी मशीन के साथ मिलकर विकसित, पर्ल 6 के कार्यान्वयन पर विकास आरम्भ हुआ। जिसे राकुडो पर्ल के नाम से जाना जाता है। नवंबर 2009 तक, राकुडो पर्ल की मासिक प्रदर्शन नियमित रूप से होता रहा है और अब यह पर्ल 6 का सबसे पूर्ण कार्यान्वयन है।
पर्ल 5 की विकास प्रक्रिया में बड़ा परिवर्तन पर्ल 5.11 के साथ हुआ; विकास समुदाय स्थिर के वार्षिक शेड्यूल के साथ, मासिक प्रस्तावित चक्र में परिवर्तन किया गया है। उस योजना के अनुसार, तीन महीने में स्थिर प्रस्तावित के बाद बग फिक्स पॉइंट प्रस्तावित होंगे।[citation needed]
12 अप्रैल 2010 को पर्ल 5.12.0 प्रस्तावित किया गया। उल्लेखनीय कोर संवर्द्धन में नएpackage NAME VERSION
प्रारूप , यदा यदा ऑपरेटर (प्लेसहोल्डर कोड को चिह्नित करने का निश्चय है जो अभी तक लागू नहीं हुआ है), निहित कठोरता, पूर्ण Y2038 अनुपालन, रेगेक्स रूपांतरण ओवरलोडिंग, डीट्रेस (DTrace) समर्थन और यूनिकोड 5.2 सम्मलित हैं।।[40]
14 मई, 2011 को पर्ल 5.14 को जेसन (JSON) बिल्ट-इन सहयोग के साथ प्रस्तावित किया गया था।[41]
20 मई 2012 को पर्ल 5.16 प्रस्तावित किया गया था। उल्लेखनीय नई सुविधाओं में पर्ल के दिए गए संस्करण को निर्दिष्ट करने की क्षमता सम्मिलित है, जो कि अनुकरण करना चाहता है, जिससे उपयोगकर्ता पर्ल के संस्करण को अपग्रेड कर सकते हैं, लेकिन फिर भी पुरानी स्क्रिप्ट चलाते हैं जो सामान्य रूप से असंगत होती हैं।[42] पर्ल 5.16 यूनिकोड 6.1 का समर्थन करने के लिए कोर को भी अपडेट करता हैI
18 मई, 2013 को पर्ल 5.18 प्रस्तावित किया गया था। उल्लेखनीय नई विशेषताओं में नए डीट्रेस हुक, लेक्सिकल उप, अधिक कोर:: उप, सुरक्षा कारणों से हैश का ओवरहाल, यूनिकोड 6.2 के लिए समर्थन सम्मलित हैं।
27 मई 2014 को पर्ल 5.20 प्रस्तावित किया गया था। उल्लेखनीय नई सुविधाओं में सबरूटीन सिग्नेचर, हैश स्लाइस/नया स्लाइस प्रारूप, पोस्टफ़िक्स डेरेफ़रेंसिंग (प्रायोगिक), यूनिकोड 6.3, रैंड () लगातार यादृच्छिक संख्या जनरेटर का उपयोग करना सम्मलित हैं।
कुछ पर्यवेक्षक आधुनिक पर्ल आंदोलन के प्रारम्भ में पर्ल 5.10 के प्रस्तावित का श्रेय देते हैं। विशेष रूप से, यह वाक्यांश विकास की शैली का वर्णन करता है जो सीपीएएन के उपयोग है, जो भाषा के विकास का लाभ उठाता है, और उच्च गुणवत्ता वाले कोड बनाने के बारे में कठोर है। जबकि मॉडर्न पर्ल इस विचार की सबसे प्रत्यक्ष मानक-वाहक हो सकती है,"प्रबुद्ध पर्ल". प्रबुद्ध पर्ल. Archived from the original on फ़रवरी 5, 2014. Retrieved सितंबर 28, 2012. {{cite web}}
: Check date values in: |access-date=
and |archive-date=
(help) संगठनI जैसे अन्य समूह ने इस कार्य को हाथ में लिया है।
2012 और 2013 के अंत में, पर्ल 5 के लिए वैकल्पिक कार्यान्वयन के लिए कई परियोजनाएं प्रारम्भ हुईं: राकुडो पर्ल टीम द्वारा पर्ल 6, 5 स्टीवन लिटिल और दोस्तों द्वारा मो और पी2 रीनी अर्बन के अंतर्गत पर्ल 11 टीम द्वारा, जीपर्ल द्वारा आरपर्ल विल ब्रैसवेल के नेतृत्व में किकस्टार्टर परियोजना है और पर्ल11 परियोजना से संबद्ध है।
2020 आगे
जून 2020 में, पर्ल 7 को पर्ल 5 के उत्तराधिकारी के रूप में घोषित किया गया था।[43] पर्ल 7 प्रारभ्म में 5.32 पर आधारित था, जिसमे 2021 को पहली छमाही में प्रस्तावित होने की आशा थी, और उम्मीदवारों को जल्द ही प्रस्तावित किया जाना था।[44] इस योजना को मई 2021 में बिना किसी प्रस्तावित समय सीमा या पर्ल 5 के संस्करण के निर्दिष्ट आधार रेखा के रूप में उपयोग के लिए संशोधित किया गया था।[45] पर्ल 7 के प्रस्तावित होने पर, पर्ल 5 का दीर्घकालिक सुरक्षित किया जाएगा। समर्थित पर्ल 5 संस्करण को चूंकि महत्वपूर्ण सुरक्षा और बग फिक्स प्राप्त होते रहेंगे।[46]
प्रतीक
कैमल
ओ'रेली मीडिया (O'Reilly Media) द्वारा प्रकाशित प्रोग्रामिंग पर्ल, कवर पर ड्रोमेडरी कैमल की तस्वीर प्रदर्शित करता है और इसे सामान्यतः कैमल बुक कहा जाता है।[47] यह छवि टी-शर्ट और अन्य कपड़ों की वस्तुओं पर दिखने वाले पर्ल के साथ-साथ सामान्य हैकर प्रतीक का अनौपचारिक प्रतीक बन गई है। ओ'रेली ट्रेडमार्क के रूप में छवि का अधिकारी है, लेकिन इसे गैर-व्यावसायिक उपयोग के लिए लाइसेंस देता है, जिसके लिए केवल www.perl.com के लिंक की आवश्यकता होती है। व्यावसायिक उपयोग के लिए लाइसेंस देने का निर्णय स्थिति-दर-स्थिति आधार पर लिया जाता है।[48] ओ'रेली गैर-वाणिज्यिक साइटों के लिए "प्रोग्रामिंग रिपब्लिक ऑफ पर्ल" लोगो और पर्ल का उपयोग करने वाली किसी भी साइट के लिए पर्ल द्वारा संचालित "पावर्ड बाय पर्ल" बटन भी प्रदान करता है।[48]
अनियन
पर्ल फाउंडेशन के पास वैकल्पिक प्रतीक, अनियन है, जिसे वह अपनी सहायक कंपनियों, पर्ल मोंगर्स, पर्लमॉन्क्स, Perl.org, और अन्य को लाइसेंस देता है।[49] प्रतीक पर्ल अनियन पर दृश्य वाक्य है।[50]
रैप्टर
मोजोलिसियस के निर्माता, सेबस्टियन रिडेल ने रैप्टर डायनासोर का चित्रण करते हुए लोगो बनाया, जो सीसी-एसए लाइसेंस, संस्करण 4.0 के अधीन उपलब्ध है।[51] रैप्टर का एनालॉग मैट एस ट्राउट द्वारा 2010 में प्रारम्भ की गई संवाद की श्रृंखला से आता है।[52]
अवलोकन
वाल के अनुसार पर्ल के दो स्लोगन हैं। पहला है इसे करने के अधिक उपाय हैं, जिन्हें सामान्यतः टीएमटीओडब्ल्यूटीडीआई (TMTOWTDI) के नाम से जाना जाता है। दूसरा नारा है सरल वस्तु सरल होनी चाहिए और कठिन वस्तु संभव होनी चाहिए।[7]
विशेषताएं
पर्ल की समग्र संरचना व्यापक रूप C से प्राप्त होती है। पर्ल प्रकृति में प्रक्रियात्मक प्रोग्रामिंग, चर, अभिव्यक्ति, कार्य विवरण, कोष्ठक-सीमांकित ब्लॉक (प्रोग्रामिंग) , नियंत्रण संरचना और उप-दिनचर्या के साथ है।[53]
पर्ल शेल प्रोग्रामिंग से भी विशेषता लेता है। सभी चर को प्रमुख सिगिल के साथ चिह्नित किया गया है, जो चर को सीधे स्ट्रिंग में प्रक्षेपित करने की अनुमति देता है। चूंकि, शेल के विपरीत, पर्ल चर के सभी एक्सेस पर सिगिल का उपयोग करता है, और सिगिल का उपयोग करने वाली अधिकांश अन्य प्रोग्रामिंग भाषाओं के विपरीत, सिगिल चर के प्रकार को नहीं अन्यथा अभिव्यक्ति के प्रकार को दर्शाता है। उदाहरण के लिए, जबकि सरणी को सिगिल @ (उदाहरण के लिए @arrayname
) द्वारा दर्शाया जाता है, सरणी के व्यक्तिगत सदस्य को स्केलर सिगिल $ (उदाहरण के लिए $arrayname[3]
) द्वारा दर्शाया जाता है। पर्ल में कई बिल्ट-इन फ़ंक्शंस भी हैं जो शेल प्रोग्रामिंग में प्रायः उपयोग किए जाने वाले टूल प्रदान करते हैं (चूंकि इनमें से कई टूल शेल के बाहरी प्रोग्राम द्वारा कार्यान्वित किए जाते हैं) जैसे सॉर्टिंग, और ऑपरेटिंग सिस्टम सुविधाओं को कॉल करना।
पर्ल एडब्ल्यूके से साहचर्य सरणी और सेड (sed) से नियमित अभिव्यक्तियाँ लेता है। ये कई पार्सिंग, टेक्स्ट-हैंडलिंग और डेटा-प्रबंधन कार्यों को सरल करते हैं। लिस्प (प्रोग्रामिंग भाषा) के साथ भाग किया गया ब्लॉक में अंतिम मूल्य का रिटर्न स्टेटमेंट है, और सभी कथन भी ऐसे एक्सप्रेशन हैं जिनका उपयोग स्वयं बड़े एक्सप्रेशन में किया जा सकता है।[citation needed]
पर्ल 5 में ऐसी विशेषताएं जोड़ी गई हैं जो जटिल डेटा संरचनाओं, प्रथम श्रेणी के कार्यों (अर्थात् मूल्यों के रूप में बंद) और वस्तु-उन्मुख प्रोग्रामिंग मॉडल का समर्थन करती हैं। इनमें कंपाइलर निर्देश (उदाहरण के लिए, कठोर प्रागमा) के साथ संदर्भ, पैकेज, क्लास-आधारित विधि-प्रेषण और लेक्सिकली स्कोप्ड चर सम्मिलित हैंI पर्ल 5 के साथ प्रदर्शित की गई प्रमुख अतिरिक्त सुविधा कोड को पुन: प्रयोज्य मॉड्यूल के रूप में पैकेज करने की क्षमता थी। वॉल ने बाद में कहा कि पर्ल 5 के मॉड्यूल सिस्टम का पूरा उद्देश्य पर्ल कोर के अतिरिक्त पर्ल संस्कृति के विकास को प्रोत्साहित करना था।[54]
पर्ल के सभी संस्करण स्वचालित टाइप सिस्टम में, डेटा-टाइपिंग और स्वचालित मेमोरी प्रबंधन करते हैं। दुभाषिया प्रोग्राम में प्रत्येक डेटा ऑब्जेक्ट के प्रकार और कंप्यूटर डेटा भंडारण आवश्यकताओं को जानता है; यह संदर्भ गणना का उपयोग करके आवश्यकतानुसार उनके लिए भंडारण आवंटित और मुक्त करता है (इसलिए यह मैन्युअल हस्तक्षेप के बिना परिपत्र डेटा संरचनाओं को हटा नहीं सकता है)। कानूनी प्रकार के रूपांतरण-उदाहरण के लिए, संख्या से स्ट्रिंग में रूपांतरण - स्वचालित रूप से रन टाइम (कार्यक्रम जीवनचक्र चरण) पर किए जाते हैं; अवैध प्रकार के रूपांतरण घातक त्रुटियाँ हैं।[citation needed]
डिजाइन
पर्ल के डिजाइन को कंप्यूटर उद्योग में तीन व्यापक आकर्षण प्रतिक्रिया के रूप में समझा जा सकता है: फॉलिंग हार्डवेयर लागत, बढ़ती श्रम लागत और संकलक प्रौद्योगिकी में सुधार है। पहले के कई कंप्यूटर भाषाएँ, जैसे कि फोरट्रान और सी, का उद्देश्य अधिक मूल्य कंप्यूटर हार्डवेयर का कुशल उपयोग करना था। इसके विपरीत, पर्ल को डिजाइन किया गया था जिससे कंप्यूटर प्रोग्रामर अधिक तीव्रता से और सरल प्रोग्राम लिख सकें।[55]
पर्ल में कई विशेषताएं हैं जो अधिक सी पी यू और मेमोरी आवश्यकताओं के मूल्य पर प्रोग्रामर के कार्य को सरल बनाती हैं। इनमें स्वचालित स्मृति प्रबंधन सम्मिलित है; डायनामिक्स टाइपिंग; स्ट्रिंग्स, सूचियाँ और हैश; नियमित अभिव्यक्ति; आत्मनिरीक्षण औरeval()
फ़ंक्शन है। पर्ल नो बिल्ट-इन लिमिट्स के सिद्धांत का पालन करता है,[47]जीरो वन इन्फिनिटी नियम के समान एक विचार करता है।[citation needed]
वॉल को भाषाविद् के रूप में प्रशिक्षित किया गया था, और पर्ल का डिज़ाइन भाषाई सिद्धांतों द्वारा अधिक सूचित किया गया है। उदाहरणों में हफ़मैन कोडिंग, अच्छा अंत-भार (महत्वपूर्ण जानकारी पहले आनी चाहिए), और भाषा उचित का बड़ा संग्रह सम्मिलित है। पर्ल ऐसी भाषा निर्माण का समर्थन करता है जो मनुष्यों के लिखने के लिए संक्षिप्त और स्वाभाविक है, यहां तक कि जहां वे पर्ल दुभाषिया को जटिल बनाते हैं।[56]
पर्ल का प्रारूप इस विचार को दर्शाता है कि जो वस्तु भिन्न हैं उन्हें भिन्न दिखना चाहिए।[57] उदाहरण के लिए, स्केलर, सरणियाँ और हैश के भिन्न-भिन्न प्रमुख सिगिल हैं। ऐरे सूचकांक और हैश कुंजियाँ विभिन्न प्रकार के ब्रेसिज़ का उपयोग करती हैं। स्ट्रिंग्स और नियमित अभिव्यक्तियों के भिन्न-भिन्न मानक सीमांकक होते हैं। इस दृष्टिकोण को लिस्प (प्रोग्रामिंग भाषा) जैसी भाषा से भिन्न किया जा सकता है, जहां सभी उद्देश्यों के लिए सरल और सार्वभौमिक प्रतीकात्मक अभिव्यक्ति से बना मूल प्रारूप का उपयोग किया जाता है।[citation needed]
पर्ल किसी विशेष प्रोग्रामिंग प्रतिमान (प्रक्रियात्मक प्रोग्रामिंग, वस्तु उन्मुख, कार्यात्मक प्रोग्रामिंग, या अन्य) को लागू नहीं करता है या यहां तक कि प्रोग्रामर को उनमें से किसी को चुनने की आवश्यकता नहीं होती है।[citation needed]
पर्ल भाषा और इसके निकटतम समुदाय और संस्कृति दोनों के लिए व्यापक व्यावहारिक प्रवृत्ति है। प्रोग्रामिंग पर्ल की प्रस्तावना आरम्भ होती है: पर्ल आपका काम पूरा करने के लिए भाषा है।[7]इसका परिणाम यह है कि पर्ल सुव्यवस्थित भाषा नहीं है। इसमें कई विशेषताएं सम्मिलित हैं, इसके नियमों के अपवादों को सहन करता है, और वाक्यात्मक अस्पष्टताओं को समाधान करने के लिए अनुमानों को नियोजित करता है। कंपाइलर की क्षमाशील प्रकृति के कारण, कभी-कभी बग का शोध कठिन हो सकता है। पर्ल के फ़ंक्शन प्रलेखन सूची और स्केलर संदर्भों में अंतर्निहित फ़ंक्शंस के भिन्न व्यवहार पर टिप्पणी करते हुए कहते हैं, सामान्यतः, वे वही करते हैं जो आप चाहते हैं, जब तक कि आप स्थिरता नहीं चाहते।[58]
पर्ल 5 के माध्यम से पर्ल संस्करणों के लिए पर्ल भाषा के लिए कोई लिखित विनिर्देश या मानक सम्मिलित नहीं है, और पर्ल के वर्तमान संस्करण बनाने के लिए कोई योजना नहीं है। दुभाषिया का केवल कार्यान्वयन हुआ है, और इसके साथ ही भाषा का भी विकास हुआ है। वह दुभाषिया, अपने कार्यात्मक परीक्षणों के साथ, भाषा के वास्तविक विनिर्देश के रूप में खड़ा होता है। पर्ल 6, तथापि, विशिष्टता के साथ आरम्भ हुआ,[59] और कई परियोजनाएं[60] का उद्देश्य कुछ या सभी विनिर्देशों को लागू करना है।[citation needed]
अनुप्रयोग
पर्ल के पास कई और विविध अनुप्रयोग हैं, जो कई मानक और तृतीय-पक्ष मॉड्यूल की उपलब्धता से जटिल हैं।
पर्ल का उपयोग मुख्य रूप से कॉमन गेटवे इंटरफ़ेस स्क्रिप्ट लिखने के लिए किया गया है: पर्ल में लिखी गई बड़ी परियोजनाओं में सी पैनल, स्लैश (वेबलॉग सिस्टम), बगजिला, अनुरोध ट्रैकर, ट्वीकी, और मूवेबल टाइप सम्मिलित हैं; पर्ल का बड़े पैमाने पर उपयोग करने वाली उच्च-ट्रैफ़िक वेबसाइटों में Priceline.com, क्रैगसलिस्ट,[61] इंटरनेट मूवी डेटाबेस,[62] लाइवजर्नल, डकडकगो,[63][64] स्लैशडॉट और टिकटमास्टर सम्मिलित हैं। यह पीएचपी (PHP) या पायथन (प्रोग्रामिंग लैंग्वेज) के अतिरिक्त वेब विकास के लिए लोकप्रिय LAMP (सॉफ्टवेयर बंडल) प्रौद्योगिकी स्टैक का वैकल्पिक घटक भी है। डेबियन लिनक्स वितरण में पर्ल का व्यापक रूप से सिस्टम प्रोग्रामिंग भाषा के रूप में उपयोग किया जाता है।[65]
पर्ल को प्रायः भाषा के रूप में प्रयोग किया जाता है, जो सिस्टम और इंटरफेस को जोड़ता है जिसे विशेष रूप से इंटरऑपरेट करने के लिए डिज़ाइन नहीं किया गया था, और डेटा मंगिंग के लिए,[66]अर्थात रिपोर्ट बनाने जैसे कार्यों के लिए बड़ी मात्रा में डेटा को परिवर्तित या संसाधित करना। वास्तव में, ये शक्तियाँ घनिष्ठ रूप से जुड़ी हुई हैं। संयोजन पर्ल को सिस्टम प्रशासकों के लिए लोकप्रिय सर्व-उद्देश्यीय भाषा बनाता है, विशेष रूप से क्योंकि छोटे लघु, जिन्हें प्रायः एक-लाइनर प्रोग्राम कहा जाता है, में प्रवेश किया जा सकता है और कमांड लाइन इंटरफेस पर चलाया जा सकता है।[citation needed]
पर्ल कोड को माइक्रोसॉफ्ट विंडोज और यूनिक्स में पोर्टेबल बनाया जा सकता है; इस प्रकार के कोड का उपयोग प्रायः सॉफ्टवेयर के आपूर्तिकर्ताओं द्वारा किया जाता हैI जिससे सॉफ्टवेयर निर्माण और परिनियोजन-स्क्रिप्ट की पैकेजिंग और सुरक्षा को सरल बनाया जा सके।[citation needed]
पर्ल /टीके और डब्लूएक्सपर्ल का उपयोग सामान्यतः पर्ल स्क्रिप्ट में ग्राफिकल यूजर इंटरफेस जोड़ने के लिए किया जाता है।
कार्यान्वयन
पर्ल को कोर इंटरप्रेटर के रूप में लागू किया गया है, जिसे सी में लिखा गया है, साथ में पर्ल और सी में लिखे मॉड्यूल का बड़ा संग्रह है। As of 2010[update], दुभाषिया सी कोड की 150,000 पंक्तियां है और विशिष्ट मशीन आर्किटेक्चर पर 1 एमबी निष्पादन योग्य संकलित करता है। वैकल्पिक रूप से, दुभाषिया को लिंक लाइब्रेरी में संकलित किया जा सकता है और अन्य प्रोग्राम्स में अंतर्निहित किया जा सकता है। वितरण में लगभग 500 मॉड्यूल हैं, जिसमें पर्ल की 200,000 पंक्तियां और सी कोड की अतिरिक्त 350,000 पंक्तियां सम्मिलित हैं (मॉड्यूल में अधिकांश सी कोड में अक्षरों को सांकेतिक अक्षरों में बदलने का टेबल होते हैं)।[citation needed] दुभाषिया में ऑब्जेक्ट-ओरिएंटेड आर्किटेक्चर होता है। पर्ल भाषा के सभी तत्व - स्केलर, सरणियाँ, हैश, कोडरेफ़्स, फ़ाइल हैंडल-संरचना (सी प्रोग्रामिंग भाषा) द्वारा दुभाषिया में द्वारा दर्शाए गए हैं। इन संरचनाओं पर संचालन मैक्रो (कंप्यूटर विज्ञान), टाइपपीफ और कार्यों के बड़े संग्रह द्वारा परिभाषित किया गया है; ये पर्ल सी अप्लिकेशन प्रोग्रामिंग अंतरफलक का गठन करते हैं। पर्ल एपीआई प्रारम्भ न करने वालों के लिए आश्चर्यजनक हो सकती है, लेकिन इसके प्रवेश बिंदु सुसंगत नामकरण योजना का पालन करते हैं, जो इसका उपयोग करने वालों को मार्गदर्शन प्रदान करता है।[citation needed]
पर्ल दुभाषिया का जीवन सामान्यतः संकलन चरण और रन चरण में विभाजित होता है।[67] पर्ल में, चरण दुभाषिया के जीवन-चक्र में प्रमुख चरण हैं। प्रत्येक दुभाषिया प्रत्येक चरण से केवल एक बार जाता है, और चरण निश्चित क्रम में अनुसरण करते हैं।[citation needed]
पर्ल के संकलन चरण में जो कुछ होता है वह संकलन है, और पर्ल के वर्तमान चरण में जो कुछ होता है वह निष्पादन है, लेकिन यह महत्वपूर्ण अपवाद हैं। संकलन चरण के समय पर्ल कोड को निष्पादित करने के लिए पर्ल अपनी क्षमता का महत्वपूर्ण उपयोग करता है। पर्ल वर्तमान समय में संकलन में भी प्रतीक्षा करेगा। वे शब्द जो उस प्रकार के प्रसंस्करण को संकेत करते हैं जो वास्तव में किसी भी समय हो रहा है, वह संकलन समय और वर्तमान समय हैं। संकलन चरण के समय अधिकांश बिंदुओं पर पर्ल संकलन समय में है, लेकिन वर्तमान चरण के समय संकलन समय भी लिपिबद्ध किया जा सकता है। स्ट्रिंग तर्क में कोड के लिए संकलन समय पास किया गया eval
बिल्ट-इन वर्तमान चरण के समय होता है। संकलन चरण के समय पर्ल प्रायः वर्तमान समय में होता है और अधिकांश वर्तमान चरण वर्तमान समय में व्यय करता है।
संकलन चरण में कोड में BEGIN
ब्लॉक वर्तमान समय पर निष्पादित होते हैं। संकलन समय पर, दुभाषिया पर्ल कोड को प्रारूप ट्री में पार्स करता है। वर्तमान समय पर, यह ट्री ट्रैवर्सल द्वारा प्रोग्राम को क्रियान्वित करता है। पाठ को केवल पार्स किया जाता है, और प्रारूप ट्री निष्पादित होने से पहले अनुकूलन के अधीन होता है, जिससे निष्पादन अपेक्षाकृत कुशल हो। प्रारूप ट्री पर संकलन-समय के अनुकूलन में निरंतर तह और संदर्भ प्रसार सम्मलित है, लेकिन पीपहोल अनुकूलन भी किया जाता है।[68]
पर्ल में एक ट्यूरिंग-पूर्ण व्याकरण है क्योंकि संकलन चरण के समय निष्पादित वर्तमान समय कोड से पार्सिंग प्रभावित हो सकती है।[69] इसलिए, पर्ल को सीधे लेक्स प्रोग्रामिंग टूल/ वाईएसीसी लेक्सिकल विश्लेषण/ पार्सर संयोजन द्वारा पार्स नहीं किया जा सकता है। इसके अतिरिक्त, दुभाषिया अपने स्वयं के लेक्सर को लागू करता है, जो भाषा में अस्पष्टताओं को समाधान करने के लिए संशोधित जीएनयू बाइसन पार्सर के साथ समन्वय करता है।[citation needed]
यह प्रायः कहा जाता है कि केवल पर्ल ही पर्ल को पार्स कर सकता है,[70] जिसका अर्थ है कि केवल पर्ल दुभाषिया (perl
) पर्ल भाषा ही (पर्ल) को पार्स कर सकता है, लेकिन सामान्य रूप से यह भी वास्तविक नहीं है। क्योंकि पर्ल दुभाषिया अपने संकलन चरण के समय ट्यूरिंग मशीन का अनुकरण कर सकता है, इसे प्रत्येक विषय में पार्सिंग को पूरा करने के लिए हॉल्टिंग समस्या को तय करने की आवश्यकता होगी। यह दीर्घकालिक परिणाम है कि हॉल्टिंग समस्या अनिर्णीत है, और इसलिए पर्ल भी सदैव पर्ल को पार्स नहीं कर सकता है। पर्ल अपने स्वयं के संकलन चरण में उपयोगकर्ता को अपनी पूर्ण प्रोग्रामिंग शक्ति तक पहुंच प्रदान करने का असामान्य विकल्प बनाता है। सैद्धांतिक शुद्धता की स्थिति में व्यय अधिक है, लेकिन व्यावहारिक असुविधा दुर्लभ प्रतीत होती है।[71]
पर्ल को पार्स करने वाले अन्य प्रोग्राम, जैसे स्थैतिक कार्यक्रम विश्लेषण सोर्स-कोड एनालाइजर और इंडेंट स्टाइल ऑटो-इंडेंटर्स, को न केवल अस्पष्ट भाषा निर्माण के साथ अन्यथा सामान्य विषय में पर्ल पार्सिंग की पुनरावर्ती भाषा के साथ भी संघर्ष करना पड़ता है। एडम केनेडी (प्रोग्रामर) की पीपीआई परियोजना ने निष्पादन योग्य कोड के रूप में पर्ल को पार्स करने के अतिरिक्त दस्तावेज़ के रूप में पर्ल कोड को पार्स करने पर ध्यान केंद्रित किया (दस्तावेज़ के रूप में इसकी अखंडता बनाए रखना)। यह केनेडी ही थे जिन्होंने सबसे पहले अनुमान लगाया था कि पार्सिंग पर्ल 'हॉल्टिंग प्रॉब्लम' से पीड़ित है,[72] जो बाद में सिद्ध हुआ।[73]
पर्ल को कोर पर्ल भाषा के लिए 250,000 से अधिक कार्यात्मक परीक्षण और कोर मॉड्यूल के लिए 250,000 से अधिक कार्यात्मक परीक्षण के साथ वितरित किया गया है। ये सामान्य निर्माण प्रक्रिया के भाग के रूप में चलते हैं और व्यापक रूप से दुभाषिया और इसके मूल मॉड्यूल का प्रयोग करते हैं। पर्ल डेवलपर्स यह सुनिश्चित करने के लिए कार्यात्मक परीक्षणों पर आश्वास करते हैं कि दुभाषिया में परिवर्तन सॉफ्टवेयर बग प्रदर्शित नहीं करते हैं; इसके अतिरिक्त, पर्ल उपयोगकर्ता जो देखते हैं कि दुभाषिया उनके सिस्टम पर अपने कार्यात्मक परीक्षणों को पास करता है, उनमें उच्च स्तर का विश्वास हो सकता है कि यह ठीक से काम कर रहा है।
उपलब्धता
पर्ल को आर्टिस्टिक लाइसेंस 1.0 और जीएनयू जनरल पब्लिक लाइसेंस दोनों के अंतर्गत दोहरा लाइसेंस प्राप्त हैI[74][75] [76] अधिकांश ऑपरेटिंग सिस्टम के लिए वितरण उपलब्ध हैं। यह यूनिक्स और यूनिक्स जैसी प्रणालियों पर विशेष रूप से प्रचलित है, लेकिन इसे अधिकांश आधुनिक (और कई अप्रचलित) प्लेटफार्मों पर परिवर्तन किया गया है। केवल छह रिपोर्ट किए गए अपवादों के साथ[citation needed], पर्ल को सभी पॉज़िक्स-संगत, या अन्यथा-यूनिक्स-संगत, प्लेटफ़ॉर्म पर स्रोत कोड से संकलित किया जा सकता है।[77]
क्लासिक मैक ओएस पर्यावरण के लिए आवश्यक असामान्य परिवर्तनों के कारण, मैकपर्ल नामक विशेष पोर्ट को स्वतंत्र रूप से भेज दिया गया था।[78]
कॉम्प्रिहेंसिव पर्ल आर्काइव नेटवर्क प्रत्येक पर उपलब्ध वितरणों के लिंक के साथ समर्थित प्लेटफॉर्मों की पूरी सूची रखता है।[79] सीपीएएन सार्वजनिक रूप से उपलब्ध पर्ल मॉड्यूल का स्रोत भी है जो मूल पर्ल वितरण का भाग नहीं हैं।
विंडोज
माइक्रोसॉफ्ट विंडोज़ के उपयोगकर्ता सामान्यतः विन32 के लिए पर्ल के मूल बाइनरी वितरणों को स्थापित करते हैं, जो सामान्यतः स्ट्रॉबेरी पर्ल या सक्रिय पर्ल है। विंडोज के अधीन सोर्स कोड से पर्ल का संकलन संभव है, लेकिन अधिकांश इंस्टॉलेशन में अपेक्षित सी कंपाइलर और बिल्ड टूल्स की अल्पता है। इससे सीपीएएन से मॉड्यूल स्थापित करना भी कठिन हो जाता है, सामान्यतः वे जो आंशिक रूप से सी में लिखे गए हैं।सक्रिय पर्ल, सक्रिय स्टेट का बंद-स्रोत वितरण है जिसमें नियमित प्रस्तावित होते हैं जो कोर पर्ल प्रस्तावित को ट्रैक करते हैं।[80] वितरण में पहले पर्ल पैकेज मैनेजर (PPM) सम्मिलित था,[81] सामान्य पर्ल मॉड्यूल के उपयोग को स्थापित करने, हटाने, अपग्रेड करने और प्रबंधित करने के लिए लोकप्रिय उपकरण; चूंकि, इस उपकरण को सक्रिय पर्ल 5.28 के रूप में बंद कर दिया गया था।[82] पर्ल भाषा को लागू करने वाला विंडोज स्क्रिप्ट होस्ट (डब्ल्यूएसएच) इंजन पर्लस्क्रिप्ट भी सम्मिलित है। विजुअल पर्ल एक्टिवस्टेट उपकरण है जो पर्ल को विजुअल स्टूडियो .NET डेवलपमेंट में जोड़ता है। वीबीस्क्रिप्ट-टू-पर्ल कन्वर्टर, साथ ही विंडोज के लिए पर्ल कंपाइलर, और पर्ल के लिए एडब्लूके (awk) और सेड (sed) के कन्वर्टर्स भी इस कंपनी द्वारा तैयार किए गए हैं और विंडोज के लिए एक्टिवस्टेट सीडी भी सम्मिलित हैं, जिसमें उनके सभी डिस्ट्रीब्यूशन और कोमोडो सम्मिलित हैं। 2002 में और बाद में यूनिक्स/ लिनक्स/ पॉज़िक्स वेरिएंट पर आईडीई और सभी को छोड़कर सम्मिलित हैं।।[83]
स्ट्राबेरी पर्ल विंडोज के लिए ओपन-सोर्स डिस्ट्रीब्यूशन है। जनवरी 2008 से इसे नियमित, त्रैमासिक प्रस्तावित किया गया है, जिसमें फीडबैक और अनुरोध के रूप में नए मॉड्यूल सम्मिलित हैं। स्ट्राबेरी पर्ल का उद्देश्य एक्सएस (XS) मॉड्यूल को संकलित करने सहित अन्य प्लेटफार्मों पर मानक पर्ल वितरण जैसे मॉड्यूल स्थापित करने में सक्षम होना है।
विंडोज के अनुसार पर्ल को चलाने का सिग्विन में एमुलेशन लेयर है। सिग्विन विंडोज पर यूनिक्स जैसा वातावरण प्रदान करता है, और सिग्विन सेट-अप प्रोग्राम में पर्ल और सीपीएएन दोनों मानक पूर्व-संकलित पैकेज के रूप में उपलब्ध हैं। चूंकि साइगविन में जीसीसी भी सम्मिलित है, इसलिए पर्ल को स्रोत से संकलित करना भी संभव है।
अन्य स्क्रिप्टिंग टूल के साथ निर्देशिका में कई विंडोज रिसोर्स किट में पर्ल निष्पादन योग्य सम्मिलित है।
पर्ल का कार्यान्वयन एमकेएस टूलकिट, इंटरिक्स (यूनिक्स के लिए विंडोज़ सेवाओं के पूर्व कार्यान्वयन का आधार) और यूडब्ल्यूआईएन के साथ आता है।
डाटाबेस इंटरफेस
पर्ल की टेक्स्ट-हैंडलिंग क्षमताओं का उपयोग एसक्यूएल प्रश्न उत्पन्न करने के लिए किया जा सकता है; सरणियाँ, हैश और स्वचालित मेमोरी प्रबंधन, लौटाए गए डेटा को एकत्र करना और संसाधित करना सरल बनाता है। उदाहरण के लिए, टिम बन्स के पर्ल डीबीआई एप्लिकेशन प्रोग्रामिंग इंटरफ़ेस (एपीआई) में, एपीआई के तर्क एसक्यूएल प्रश्नों का पाठ हो सकते हैं; इस प्रकार एक ही समय में कई भाषाओं में प्रोग्राम करना संभव हैI (उदाहरण के लिए, यहाँ दस्तावेज़ में एचटीएमएल, जावास्क्रिप्ट और एसक्यूएल का उपयोग करके वेब पृष्ठ बनाने के लिए किया जाता है)। प्रत्येक एसक्यूएल क्वेरी को प्रोग्रामेटिक रूप से अनुकूलित करने के लिए पर्ल चर इंटरपोलेशन का उपयोग, और प्रत्येक एसक्यूएल क्वेरी से परिणामी डेटा सेट को प्रोग्रामेटिक रूप से होल्ड करने के लिए संरचनाओं के रूप में पर्ल सरणियों या हैश के विनिर्देश, बड़ी मात्रा में डेटा को संभालने के लिए उच्च-स्तरीय तंत्र की अनुमति देता है। पर्ल उप-प्रोग्राम द्वारा पोस्ट-प्रोसेसिंग करता हैI [84]पर्ल के प्रांरभिक संस्करणों में, दुभाषिया को ग्राहक की ओर डेटाबेस लाइब्रेरी के साथ जोड़कर डेटाबेस इंटरफेस बनाया गया था। यह पर्याप्त रूप से कठिन था कि यह केवल कुछ सबसे महत्वपूर्ण और सबसे व्यापक रूप से उपयोग किए जाने वाले डेटाबेस के लिए किया गया था, और इसने परिणामी डेटा को सीमित कर दिया। और परिणामीपर्ल को
समय में केवल एक डेटाबेस इंटरफ़ेस का उपयोग करने के लिए निष्पादन योग्यको
प्रतिबंधित कर दिया था।[85]
पर्ल 5 में, डेटाबेस इंटरफेस पर्ल डीबीआई मॉड्यूल द्वारा कार्यान्वित किए जाते हैं। डीबीआई (डेटाबेस इंटरफ़ेस) मॉड्यूल पर्ल अनुप्रयोगों के लिए एकल, डेटाबेस-स्वतंत्र इंटरफ़ेस दर्शाता है, जबकि डीबीडी (डेटाबेस ड्राइवर) मॉड्यूल लगभग 50 विभिन्न डेटाबेसों तक पहुँचने के विवरण को संभालता है; अधिकांश अमेरिकी राष्ट्रीय मानक संस्थान एसक्यूएल डेटाबेस के लिए डीबीडी ड्राइवर हैं।[86]
डीबीआई डेटाबेस हैंडल और प्रश्नों के लिए कैशिंग प्रदान करता है, जो लंबे समय तक चलने वाले निष्पादन वातावरण जैसे mod_perl, में प्रदर्शन में अधिक सुधार कर सकता है।[87]उच्च मात्रा वाले सिस्टम को स्लैशडॉट प्रभाव के रूप में लोड स्पाइक्स को रोकने में उच्च-वॉल्यूम सिस्टम की मदद करना।[88]
आधुनिक पर्ल अनुप्रयोगों में, विशेष रूप से कैटेलिस्ट जैसे वेब फ्रेमवर्क का उपयोग करके लिखे गए, डीबीआई मॉड्यूल का उपयोग प्रायः ऑब्जेक्ट-रिलेशनल मैपर्स जैसे डीबीआईएक्स::क्लास, क्लास::डीबीआई के माध्यम से अप्रत्यक्ष रूप से किया जाता है।[89][90] जो एसक्यूएल प्रश्न उत्पन्न करता है और एप्लिकेशन लेखक को डेटा को पारदर्शी रूप से संभालता है।[91]
तुलनात्मक प्रदर्शन
कंप्यूटर भाषा बेंचमार्क गेम कई प्रोग्रामिंग भाषाओं में विशिष्ट प्रोग्रामिंग समस्याओं के कार्यान्वयन के प्रदर्शन की तुलना करता है।[92] सबमिट किए गए पर्ल कार्यान्वयन सामान्यतः मेमोरी-यूसेज स्पेक्ट्रम के उच्च अंत की ओर प्रदर्शन करते हैं और विविध गति परिणाम देते हैं। बेंचमार्क गेम में पर्ल का प्रदर्शन व्याख्या की गई भाषाओं के लिए विशिष्ट है।[93]
संकलित भाषाओं में समान कार्यक्रमों की तुलना में बड़े पर्ल प्रोग्राम अधिक धीरे-धीरे आरम्भ होते हैं क्योंकि पर्ल को सभी स्रोत को संकलित करना पड़ता है। वाईएपीसी::यूरोप 2005 सम्मेलन और उसके बाद के लेख ए टाइमली स्टार्ट में वार्ता में, जीन-लुइस लेरॉय ने पाया कि उनके पर्ल कार्यक्रमों को चलने में अपेक्षा से अधिक समय लगा क्योंकि पर्ल दुभाषिया ने अपने भीतर मॉड्यूल शोध में महत्वपूर्ण समय बिताया। ओवर-लार्ज में पथ सम्मिलित है।[94] जावा, पायथन और रूबी के विपरीत, पर्ल के पास पूर्व-संकलन के लिए केवल प्रायोगिक समर्थन है।[95] इसलिए, पर्ल प्रोग्राम सभी निष्पादन पर इस ओवरहेड पेनल्टी का भुगतान करते हैं। विशिष्ट कार्यक्रमों का वर्तमान चरण इतना लंबा है कि परिशोधित स्टार्टअप समय पर्याप्त नहीं है, लेकिन बहुत कम निष्पादन समय को मापने वाले बेंचमार्क इस ओवरहेड के कारण तिरछे होने की संभावना है।[96]
इस स्थिति को सुधारने के लिए कई उपकरण प्रदर्शित किए गए हैं। पहला ऐसा उपकरण अपाचे का mod_perl था, जिसने सबसे सरल कारणों को संबोधित करने की डिमांड की थी कि छोटे पर्ल प्रोग्राम तीव्रता से लागू किए गए थे: कॉमन गेटवे इंटरफेस वर्ल्ड वाइड वेब डेवलपमेंट हैं। एक्टिवस्टेट, माइक्रोसॉफ्ट आईएसएपआई के माध्यम से, समान प्रदर्शन सुधार प्रदान करता है।[97]
पर्ल कोड संकलित हो जाने के बाद, निष्पादन चरण के समय अतिरिक्त ओवरहेड होता है जो सामान्यतः सी या सी ++ जैसी संकलित भाषाओं में लिखे गए प्रोग्राम के लिए सम्मिलित नहीं होता है। ऐसे ओवरहेड के उदाहरणों में बाईट-कोड व्याख्या, संदर्भ-गिनती स्मृति प्रबंधन और डायनामिक्स टाइप-चेकिंग सम्मिलित हैं।[98]
अनुकूलन
सबसे महत्वपूर्ण अन्य भाषाओं [जैसे C(प्रोग्रामिंग भाषा)] में लिखी जा सकती है, जिसे सरल इनलाइन मॉड्यूल या अधिक जटिल, लेकिन कोमल , एक्सएस (पर्ल) तंत्र के माध्यम से पर्ल से जोड़ा जा सकता है।[99]
पर्ल 5
पर्ल 5, जिसे सामान्यतः पर्ल कहा जाता है, सक्रिय रूप से विकसित होना प्रस्तावित है। पर्ल 5.12.0 अप्रैल 2010 में पर्ल 6 के डिजाइन से प्रभावित कुछ नई विशेषताओं के साथ प्रस्तावित किया गया था,[40][100] इसके बाद पर्ल 5.14.1 (17 जून, 2011 को प्रस्तावित), पर्ल 5.16.1 (9 अगस्त, 2012 को प्रस्तावित किया गया[101]), और पर्ल 5.18.0 (18 मई, 2013 को प्रस्तावित) किया गया था। पर्ल 5 विकास संस्करण मासिक आधार पर प्रस्तावित किए जाते हैं, प्रमुख प्रस्तावित प्रति वर्ष आते हैं।[102]
अन्य प्रोग्रामिंग भाषाओं के लिए इसी प्रकार के शोधों की तुलना में, पर्ल प्रोग्रामिंग के लिए इंटरनेट शोधों का सापेक्षिक अनुपात 2005 में लगभग 10% से घटकर 2011 में लगभग 2% और 2020 में लगभग 0.7% हो गया।[103]
राकू (पर्ल 6)
2000 के पर्ल सम्मेलन में, जॉन ऑरवेंट ने प्रमुख नई भाषा-पहल के लिए स्थिति बनायीं ।[105] इसके कारण पर्ल 6 के कहे जाने वाले भाषा के नए स्वरूप पर काम प्रारम्भ करने का निर्णय लिया गया। पर्ल समुदाय से बड़े पैमाने पर नई भाषा सुविधाओं के प्रस्ताव मांगे गए, जिन्होंने टिप्पणियों के लिए 300 से अधिक अनुरोध प्रस्तुत किए।[106]
वॉल ने अगले कुछ वर्ष आरएफसी और पर्ल 6 के लिए सुसंगत फ़्रेम में संश्लेषित किया। उन्होंने एपोकैलिप्स नामक दस्तावेजों की श्रृंखला में पर्ल 6 के लिए अपना डिजाइन दर्शाया – प्रोग्रामिंग पर्ल में अध्यायों के अनुरूप क्रमांकित करना। As of 2011[update], पर्ल 6 के विकासशील विनिर्देश को सिनॉप्स नामक डिज़ाइन दस्तावेज़ों में समाहित किया गया था – एपोकैलिप्स के अनुरूप क्रमांकित करना।[107]
ब्रैडली एम. कुह्न द्वारा थीसिस वर्क, वॉल द्वारा निरीक्षण, पर्ल के वर्त्तमान समय के रूप में जावा वर्चुअल मशीन के संभावित उपयोग पर विचार किया।[108] कुह्न की थीसिस ने इस दृष्टिकोण को समस्याग्रस्त दिखाया। 2001 में, यह निर्णय लिया गया कि पर्ल 6 पैरेट आभासी मशीन नामक क्रॉस-लैंग्वेज वर्चुअल मशीन पर चलेगा। इसका अर्थ यह होगा कि पैरेट को लक्षित करने वाली अन्य भाषाओं को सीपीएएन तक मूल पहुंच प्राप्त होगी, जिससे क्रॉस-लैंग्वेज विकास के कुछ स्तर की अनुमति होगी।[citation needed]
2005 में, ऑड्रे टैंग ने पग्स (प्रोग्रामिंग) प्रोजेक्ट बनाया, हास्केल (प्रोग्रामिंग लैंग्वेज) में पर्ल 6 का कार्यान्वयन है। यह पर्ल 6 भाषा (वास्तविक कार्यान्वयन के विकास से भिन्न) के लिए परीक्षण मंच के रूप में कार्य करता है, और प्रस्तावित रखता है – भाषा डिजाइनरों को अन्वेषण करने की अनुमति देता है। पग्स परियोजना ने लाइबेरा चैट राकू आईआरसी चैनल के निकटतम केंद्रित सक्रिय पर्ल/हास्केल क्रॉस-लैंग्वेज समुदाय को उत्पन्न किया। पर्ल 6 डिज़ाइन टीम द्वारा कई कार्यात्मक प्रोग्रामिंग प्रभावों को अवशोषित किया गया।[109]
2012 में, पर्ल 6 का विकास मुख्य रूप से दो कंपाइलरों पर केंद्रित था:[110]
- रकूदो, पैरेट वर्चुअल मशीन और जावा वर्चुअल मशीन पर चलने वाला कार्यान्वयन।[111]
- नैक्ज़ा, जो सामान्य भाषा वर्त्तमान समय को लक्षित करता है।
2013 में, मोअरवम ("मेटामॉडल ऑन ए वर्त्तमान समय"), मुख्य रूप से राकुडो के लिए डिज़ाइन की गई सी भाषा-आधारित वर्चुअल मशीन की घोषणा की गई थी।[112]
अक्टूबर 2019 में, पर्ल 6 का नाम परिवर्तित करके राकू कर दिया गया।[113]
As of 2017[update] केवल रकूदो कार्यान्वयन और मोअरवम सक्रिय विकास के अधीन हैं, और अन्य आभासी मशीनें, जैसे कि जावा वर्चुअल मशीन और जावास्क्रिप्ट, समर्थित हैं।[114]
पर्ल 7
पर्ल 7 की घोषणा 24 जून 2020 को द पर्ल कॉन्फ्रेंस इन द क्लाउड में पर्ल 5 के उत्तराधिकारी के रूप में की गई थी।[44][43]पर्ल 5.32 के आधार पर, पर्ल 7 को आधुनिक पर्ल 5 कोड के साथ बैकवर्ड कम्पैटिबिलिटी बनाने की योजना बनाई गई थी; पर्ल 5 कोड, बॉयलरप्लेट कोड (प्राग्मा) के बिना हेडर को जोड़ने की आवश्यकता है use compat::perl5;
संगत रहने के लिए, परन्तु आधुनिक कोड कुछ बॉयलरप्लेट को गिरा सकता है।
चूंकि, पर्ल 7 पर जाने की योजना ने अधिक चर्चा की, और पर्ल संचालन समिति ने स्क्रिप्ट के लिए बैकवर्ड संगतता वाले विषयों से बचने के लिए इसे निरस्त कर दिया, जो प्रागमा और मॉड्यूल के लिए नहीं लिखे गए थे जो कि पर्ल 7 में डिफ़ॉल्ट बन जाएंगे। पर्ल 7 केवल तभी सामने आते हैं जब डेवलपर्स प्रमुख प्रस्तावित अपग्रेड को वारंट करने के लिए पर्याप्त सुविधाएँ जोड़ते हैं।[115]
पर्ल समुदाय
पर्ल की संस्कृति और समुदाय भाषा के साथ ही विकसित हुए हैं। यूज़नेट पहला सार्वजनिक स्थान था जिसमें पर्ल को प्रदर्शित किया गया था, लेकिन इसके विकास के समय, वर्ल्ड वाइड वेब के प्रारम्भ के साथ इंटरनेट-आधारित सेवाओं के विस्तार के विकास से पर्ल के समुदाय को आकार मिला। पर्ल को घेरने वाला समुदाय, वास्तव में, वॉल की पहली अनियन की स्थिति का विषय था।[116]
अनियन की स्थिति
पर्ल और उसके समुदाय की प्रगति पर वॉल के वार्षिक मुख्य-शैली के सारांश का नाम अनियन की स्थिति है। वे पर्ल की संस्कृति, व्यापक हैकर संस्कृति, वॉल की भाषाई पृष्ठभूमि, कभी-कभी उनके पारिवारिक जीवन और कभी-कभी उनकी ईसाई पृष्ठभूमि के संदर्भों को नियोजित करते हुए उनके हॉलमार्क हास्य की विशेषता है।[117]
प्रत्येक वार्ता पहले विभिन्न पर्ल सम्मेलनों में दी जाती है और अंततः इसे ऑनलाइन भी प्रकाशित किया जाता है।
पर्ल शगल
जफस
ईमेल, यूज़नेट, और संदेश बोर्ड पोस्टिंग में, जस्ट अदर पर्ल हैकर (जफस) प्रोग्राम सरल है, जिसका प्रारम्भ रान्डल एल. श्वार्ट्ज ने किया था, जो प्रारंभिक व्यवसाय पर्ल प्रशिक्षकों में से थे।[118] पर्ल कल्चर की भाषा में, पर्ल प्रोग्रामर्स को पर्ल हैकर्स के रूप में जाना जाता है, और इससे जस्ट अदर पर्ल हैकर वाक्यांश को प्रिंट करने के लिए लघु प्रोग्राम लिखने का अभ्यास प्राप्त होता है। मूल अवधारणा की भावना में, ये प्रोग्राम मध्यम रूप से अस्पष्ट हैं और ईमेल या यूज़नेट संदेश के हस्ताक्षर में फिट होने के लिए बहुत कम हैं। श्वार्ट्ज द्वारा विकसित "प्रामाणिक" जाफ में अंत में अल्पविराम सम्मिलित है, चूंकि इसे प्रायः छोड़ दिया जाता है।[119]
पर्ल गोल्फ़
पर्ल गोल्फ पर्ल कार्यक्रम में उपयोग किए जाने वाले पात्रों (कुंजी स्ट्रोक) की संख्या को कम से कम करने का शगल है, ठीक उसी प्रकार जिस प्रकार से गोल्फ खिलाड़ी एक समय में जितना संभव हो उतना शॉट लेने का प्रयास करते हैं। वाक्यांश का पहला प्रयोग[120] नवागंतुक को सिखाने के लिए पैदल यात्री कोड और अनुभवी पर्ल प्रोग्रामर को खुश करने के लिए संक्षिप्त हैक के बीच के अंतर पर जोर देता है, बाद वाले का उदाहरण जफस है जो पहले से ही यूज़नेट पोस्टिंग और अन्य स्थानों पर हस्ताक्षर में उपयोग किए गए थे। इसी प्रकार के स्टंट पिछले दशकों में भाषा एपीएल (प्रोग्रामिंग भाषा) में अनाम शगल थे। आरएसए (एल्गोरिदम) एन्क्रिप्शन करने वाले प्रोग्राम को लिखने के लिए पर्ल के उपयोग ने इस शगल में व्यापक और व्यावहारिक रुचि को प्रेरित किया।[121] बाद के वर्षों में, शब्द कोड गोल्फ को अन्य भाषाओं में शगल के लिए लागू किया गया है।[122] जुलाई 2000 में मोंटेरे, कैलिफोर्निया में पर्ल सम्मेलन 4.0 में पर्ल गोल्फ अपोकलीप्स आयोजित किया गया था।
कहानियां
सी के साथ, 1990 के दशक के अंत में अस्पष्ट कोड प्रतियोगिताएं प्रसिद्ध शगल थीं। अस्पष्ट पर्ल प्रतियोगिता 1996 से 2000 तक द पर्ल जर्नल द्वारा आयोजित प्रतियोगिता थी जिसने पर्ल के प्रारूप कोमलता का प्रमुख गुण बनाया। सबसे शक्तिशाली जैसी श्रेणियों के लिए पुरस्कार दिए गए थे - ऐसे कार्यक्रम जो अंतरिक्ष का कुशल उपयोग करते हैं - और "सर्वश्रेष्ठ चार-पंक्ति हस्ताक्षर" उन कार्यक्रमों के लिए जो यूज़नेट हस्ताक्षर ब्लॉक की शैली में 76 वर्णों की चार पंक्तियों में फिट होते हैं।[123]
कविता
पर्ल कविता, कविता लिखने का अभ्यास है जिसे कानूनी पर्ल कोड के रूप में संकलित किया जा सकता है, उदाहरण के लिए ब्लैक पर्ल के रूप में जाना जाने वाला टुकड़ा है। पर्ल भाषा में उपयोग किए जाने वाले अंग्रेजी शब्दों की बड़ी संख्या से पर्ल कविता संभव हो गई है। पर्लमॉन्क्स पर समुदाय के लिए नई कविताएँ नियमित रूप से दर्शायी जाती हैं।[124]
आईआरसी पर पर्ल
कई इंटरनेट रिले चैट चैनल पर्ल और इसके कुछ मॉड्यूल के लिए समर्थन प्रदान करते हैं।
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
, उदाहरण के लिए, लैटिन में प्रोग्राम लिखने की अनुमति देता है।[125] इस प्रकार के प्रोग्राम के निष्पादन पर, मॉड्यूल अपने स्रोत कोड को नियमित पर्ल में अनुवादित करता है और इसे चलाता है।[citation needed]
पर्ल समुदाय ने एक्मे कारपोरेशन नामस्थान को ऐसे मॉड्यूल के लिए भिन्न रखा है जो प्रकृति में रोचक हैं (लेकिन इसकी सीमा शोधपूर्ण या प्रायोगिक कोड या किसी अन्य मॉड्यूल को सम्मिलित करने के लिए चौड़ा हो गया है जो कभी भी उत्पादन में उपयोग करने के लिए नहीं है)। एक्मे के कुछ मॉड्यूल जानबूझकर रोचक उपाय से लागू किए गए हैं। इसमें Acme::Bleach
, यह भी सम्मिलित है जो Acme::
नामस्थान, के पहले मॉड्यूल में से हैI [126] जो कार्यक्रम के स्रोत कोड को व्हाइटेड करने की अनुमति देता है (अर्थात, सभी वर्णों को व्हाइटस्पेस से परिवर्तित कर दिया जाता है) और यह फिर भी काम करता है।[citation needed]
उदाहरण कोड
पर्ल के पुराने संस्करणों में, कोई व्यक्ति hello world प्रोग्राम को इस प्रकार लिखेगा:
print "Hello, World!\n";
यहां एक अधिक जटिल पर्ल प्रोग्राम है, जो किसी दिए गए शुरुआती मान से सेकंड की गणना करता है:
#!/usr/bin/perl
use strict;
use warnings;
my ( $remaining, $total );
$remaining = $total = shift(@ARGV);
STDOUT->autoflush(1);
while ( $remaining ) {
printf ( "Remaining %s/%s \r", $remaining--, $total );
sleep 1;
}
print "\n";
पर्ल दुभाषिया का उपयोग कमांड लाइन पर वन टाइम स्क्रिप्ट के लिए भी किया जा सकता है। निम्न उदाहरण (जैसा कि SH -कम्पेटिबल शेल से लिया गया है, जैसे बैश) वर्तमान निर्देशिका में "Robert" में .txt के साथ समाप्त होने वाली सभी फाइलों में स्ट्रिंग "Bob" का अनुवाद करता है:
$ perl -i.bak -lp -e 's/Bob/Robert/g' *.txt
आलोचना
पर्ल को इसके आलोचकों द्वारा विक्ट: लाइन नॉइज़ और केवल-लिखने वाली भाषा के रूप में संदर्भित किया गया है। इस प्रकार का सबसे पहला उल्लेख रैंडल एल. श्वार्ट्ज द्वारा लिखित पर्ल 4 ट्यूटोरियल पुस्तक लर्निंग पर्ल के पहले संस्करण में था।[127] जिसके पहले अध्याय में वह कहता है: हां, कभी-कभी पर्ल बिन बुलाए लाइन नॉइज़ जैसा दिखता है, लेकिन अनुभवी पर्ल प्रोग्रामर के लिए, यह जीवन में मिशन के साथ अंततः,लाइन नॉइज़ जैसा दिखता है।[128] उन्होंने यह भी कहा कि उचित सावधानी के साथ कोडिंग करके पर्ल केवल लिखने वाली भाषा होने के दोषारोपण से बचा जा सकता है।[128]पर्ल अवलोकन दस्तावेज़ पर्लिन्ट्रो बताता है कि अंतर्निहित मैजिक स्केलर चर के नाम विराम चिह्न या लाइन नॉइज़ के जैसे दिखते हैं। चूंकि, अंग्रेजी मॉड्यूल लंबे और छोटे विकल्प दोनों प्रदान करता है। पर्लस्टाइल दस्तावेज़ में कहा गया है कि व्हाइटस्पेस जोड़ने के लिए /x
संशोधक का उपयोग करके नियमित अभिव्यक्तियों में लाइन नॉइज़ को कम किया जा सकता है।[129]
पर्ल 6 एफएक्यू के अनुसार, पर्ल 6 को उन सामान्य संदिग्धों को कम करने के लिए डिज़ाइन किया गया था जो पर्ल 5 आलोचकों से लाइन नॉइज़ का अनुरोध करते हैं, जिसमें अधिकांश विराम चिह्नों को हटाना और रेगेक्स प्रारूप का स्वच्छताकरण सम्मिलित है।[130] पर्ल 6 एफएक्यू में यह भी कहा गया है कि जिसे कभी-कभी पर्ल के लाइन नॉइज़ के रूप में संदर्भित किया जाता है, वह भाषा का वास्तविक प्रारूप है जैसे कि क्रियावाचक संज्ञा और पूर्वसर्ग अंग्रेजी भाषा का भाग हैं।[130] दिसंबर 2012 की ब्लॉग पोस्टिंग में, यह अनुरोध करने के अतिरिक्त कि राकुडो पर्ल 6 विफल हो गया है और तब तक विफल रहेगा जब तक कि इसे कुछ वयस्क पर्यवेक्षण नहीं मिल जाता, तब तक असफल रहेगा", क्रोमैटिक ने कहा कि पर्ल 6 के डिजाइन में अच्छे प्रकार से परिभाषित व्याकरण के साथ-साथ अच्छे प्रकार भी है। प्रणाली, बुद्धिमान मेटामॉडल, मेटाऑपरेटर्स के साथ एकीकृत वस्तु प्रणाली, और संदर्भ की स्पष्ट प्रणाली जो व्यापक आलस्य जैसी बारीकियों के लिए प्रदान करती है।[131] उन्होंने यह भी कहा कि पर्ल 6 में सुसंगतता और निरंतरता है जो पर्ल 5 में नहीं है।[131]
यह भी देखें
संदर्भ
- ↑ "पर्ल के बारे में". perl.org. Archived from the original on November 6, 2015. Retrieved 2013-04-20.
"पर्ल" भाषाओं का एक परिवार है, "पर्ल 6" परिवार का हिस्सा है, लेकिन यह एक अलग भाषा है जिसकी अपनी विकास टीम है। इसके अस्तित्व का "पर्ल 5" के निरंतर विकास पर कोई महत्वपूर्ण प्रभाव नहीं है।
- ↑ "राकू का रास्ता". GitHub. Archived from the original on November 12, 2020. Retrieved 2021-01-14.
यह दस्तावेज़ पर्ल 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 2013-07-23.
- ↑ Sheppard, Doug (2000-10-16). "शुरुआती लोगों के लिए पर्ल का परिचय". dev.perl.org. Archived from the original on June 5, 2011. Retrieved 2011-01-08.
- ↑ 6.0 6.1 Ashton, Elaine (1999). "पर्ल और इसकी संस्कृति की समयरेखा (v3.0_0505)". Archived from the original on January 11, 2013. Retrieved March 12, 2004.
- ↑ 7.0 7.1 7.2 7.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 (2000-10-16). "शुरुआती लोगों के लिए पर्ल का परिचय". O'Reilly Media. Archived from the original on June 4, 2008. Retrieved 2008-07-27.
- ↑ Raymond, Eric (2003-12-23). "स्विस आर्मी चेनसॉ". The Jargon File. Archived from the original on August 14, 2018. Retrieved 2014-11-29.
- ↑ Leonard, Andrew. "पर्ल की खुशी". Salon.com. Archived from the original on July 6, 2012. Retrieved 2012-06-05.
- ↑ "प्रोग्राम कैसे मापे जाते हैं | कंप्यूटर भाषा बेंचमार्क गेम". benchmarksgame-team.pages.debian.net. Archived from the original on July 12, 2020. Retrieved 2020-10-05.
- ↑ "पर्ल की 3 पंक्तियों में RSA - Everything2.com". everything2.com. Archived from the original on October 8, 2020. Retrieved 2020-10-05.
- ↑ Richardson, Marjorie (1999-05-01). "लैरी वॉल, पर्ल के गुरु". Linux Journal. Archived from the original on July 20, 2013. Retrieved 2011-01-03.
- ↑ "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 2011-01-26.
- ↑ "perl.perl5.porters संग्रह". perl.org. Archived from the original on May 1, 2011. Retrieved 2011-01-13.
- ↑ "पर्लहिस्ट — पर्ल इतिहास रिकॉर्ड". Perl 5 version 12.2 documentation. perldoc.perl.org. Archived from the original on January 13, 2011. Retrieved 2011-01-21.
{{cite web}}
: no-break space character in|title=
at position 10 (help) - ↑ "पर्ल | परिभाषा, इतिहास और तथ्य | ब्रिटानिका". www.britannica.com (in English). Retrieved 2022-06-15.
- ↑ "सीपीएएन". CPAN. Archived from the original on October 3, 2019. Retrieved 2017-05-08.
- ↑ 25.0 25.1 "perl5004delta — perl5.004 के लिए नया क्या है". Perl 5 version 12.2 documentation. perldoc.perl.org. Archived from the original on February 27, 2011. Retrieved 2011-01-08.
{{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 2011-01-21.
- ↑ "Perl Source". www.cpan.org. Archived from the original on June 1, 2017. Retrieved 2020-06-02.
- ↑ "perl56delta - पर्ल v5.6.0 के लिए नया क्या है". Perl 5 version 12.2 documentation. perldoc.perl.org. Archived from the original on February 2, 2011. Retrieved 2011-01-21.
- ↑ "perl56delta - पर्ल v5.6.x के लिए नया क्या है". Perl 5 version 12.2 documentation. perldoc.perl.org. Archived from the original on November 18, 2010. Retrieved 2011-01-21.
- ↑ "पर्ल | परिभाषा, इतिहास और तथ्य | ब्रिटानिका". www.britannica.com (in English). Retrieved 2022-06-15.
- ↑ Wall, Larry. "सर्वनाश 1: द अग्ली, द बैड एंड द गुड". Archived from the original on November 23, 2010. Retrieved 2011-01-08.
- ↑ "perl58delta - पर्ल v5.8.0 के लिए नया क्या है". Perl 5 version 12.2 documentation. perldoc.perl.org. Archived from the original on November 21, 2010. Retrieved 2011-01-21.
- ↑ "पग के लिए एक योजना". O'Reilly Media. 2005-03-03. Archived from the original on September 8, 2012. Retrieved 2011-01-27.
- ↑ Tang, Audrey (2010-04-21). "पुन: दस वर्षों में पर्ल 6 को कैसे लागू करें". PerlMonks. Archived from the original on May 11, 2011. Retrieved 2011-01-03.
- ↑ 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 2011-01-08.
- ↑ "perlsyn - पर्ल सिंटैक्स". Perl 5 version 12.2 documentation. perldoc.perl.org. Archived from the original on August 26, 2013. Retrieved 2011-01-21.
- ↑ 40.0 40.1 "perl5120delta - पर्ल v5.12.0 के लिए नया क्या है". Perl 5 version 12.2 documentation. perldoc.perl.org. Archived from the original on January 4, 2011. Retrieved 2011-01-08.
- ↑ "perl5140delta - पर्ल v5.14.0 के लिए नया क्या है - metacpan.org". metacpan.org. Archived from the original on July 25, 2018. Retrieved July 22, 2017.
- ↑ "perl5160delta - पर्ल v5.16.0 के लिए नया क्या है". perldoc.perl.org. Retrieved 2012-05-21.</रेफरी>[failed verification] पर्ल 5.16 यूनिकोड 6.1 का समर्थन करने के लिए कोर को भी अपडेट करता है। 18 मई, 2013 को पर्ल 5.18 जारी किया गया था। उल्लेखनीय नई विशेषताओं में नए dtrace हुक, लेक्सिकल सब, अधिक CORE:: सब, सुरक्षा कारणों से हैश का ओवरहाल, यूनिकोड 6.2 के लिए समर्थन शामिल हैं।<ref name="5180delta_version">"perl5180delta - पर्ल v5.18.0 - पर्ल प्रोग्रामिंग भाषा के लिए नया क्या है". Perl 5 version 18.0 documentation. metacpan.org. Archived from the original on October 29, 2013. Retrieved 2013-10-27.</रेफरी> 27 मई 2014 को पर्ल 5.20 जारी किया गया था। उल्लेखनीय नई विशेषताओं में सबरूटीन सिग्नेचर, हैश स्लाइस/नया स्लाइस सिंटैक्स, पोस्टफिक्स डीरेफरेंसिंग (प्रायोगिक), यूनिकोड 6.3, शामिल हैं। rand() लगातार यादृच्छिक संख्या जनरेटर का उपयोग करना।<ref name="5200delta_version">"perl5200delta - पर्ल v5.20.0 - पर्ल प्रोग्रामिंग भाषा के लिए नया क्या है". Perl 5 version 20.0 documentation. metacpan.org. Archived from the original on May 27, 2014. Retrieved 2014-05-27.</रेफरी> कुछ पर्यवेक्षक आधुनिक पर्ल आंदोलन की शुरुआत के साथ पर्ल 5.10 की रिलीज का श्रेय देते हैं। संदर्भ>पर्ल पुनर्जागरण में मील के पत्थर - आधुनिक पर्ल प्रोग्रामिंग Archived October 27, 2012, at the Wayback Machine. मॉडर्नपर्लबुक्स डॉट कॉम। 2013-07-17 को पुनःप्राप्त।
- ↑ 43.0 43.1 "पर्ल 7 की घोषणा पर्ल कॉन्फ़्रेंस इन द क्लाउड में की गई". perlfoundation.org. 2020-06-24. Archived from the original on June 26, 2020. Retrieved 2020-06-24.
- ↑ 44.0 44.1 "पर्ल 7 की घोषणा". perl.com. 2020-06-24. Archived from the original on June 24, 2020. Retrieved 2020-06-24.
- ↑ Nicholas Clark (2021-05-09). "संचालन परिषद की बैठक #019 2021-05-06". www.nntp.perl.org. Archived from the original on 2021-05-18. Retrieved 2021-05-17.
योजना बनी हुई है कि पर्ल 7 टक्कर होगी, लेकिन 5.34.0 जारी होने के तुरंत बाद नहीं। ... हमें नहीं लगता कि हम 12 महीनों में [पर्ल 7] पर वितरित कर सकते हैं।
- ↑ पर्ल 7d के लिए तैयारी. leanpub.com. 2020-06-24. Archived from the original on June 25, 2020. Retrieved 2020-06-24.
- ↑ 47.0 47.1 Schwartz, Randal L; Phoenix, Tom; Foy, Brian (2007-12-06). लर्निंग पर्ल, तीसरा संस्करण. ISBN 978-0-596-00132-2.
- ↑ 48.0 48.1 "पर्ल कैमल उपयोग और ट्रेडमार्क सूचना". O'Reilly Media. Archived from the original on 2018-04-25. Retrieved 2011-01-09.
- ↑ "पर्ल ट्रेडमार्क". The Perl Foundation. Archived from the original on May 3, 2011. Retrieved January 9, 2011.
- ↑ Gillmore, Dan (1998-10-25). "पर्ल गणराज्य". Chicago Tribune. Archived from the original on April 30, 2011. Retrieved 2011-01-10.
- ↑ Riedel, Sebastian (2012-01-18). "पर्ल 5 रैप्टर". Sebastian Riedel. Archived from the original on June 11, 2018. Retrieved 2017-11-12.
- ↑ Trout, Matt (2005-06-16). "वेलोसिरैप्टर की स्थिति - चरण दो". Shadowcat Systems Limited. Archived from the original on November 13, 2017. Retrieved 2017-11-12.
- ↑ Nagpal, D.P. (2010). वेब डिजाइन प्रौद्योगिकी (in English). India: S. Chand. p. 700. ISBN 978-8121927635.
- ↑ "शीर्षक अज्ञात". 1997-05-10. Usenet: 199705101952.MAA00756@wall.org.[dead link]
- ↑ "द फॉल ऑफ पर्ल, वेब की मोस्ट प्रॉमिसिंग लैंग्वेज". FastCompany. February 13, 2014.
- ↑ Wall, Larry. "पर्ल - पर्ल 5 भाषा दुभाषिया - पर्लडॉक ब्राउज़र". perldoc.perl.org. Retrieved 2021-06-24.
- ↑ Wall, Larry (1997-03-01). "आप कहाँ से हैं?". Linux Journal. Archived from the original on December 9, 2010. Retrieved 2011-03-13.
- ↑ "perlfunc - पर्ल निर्मित कार्य". Perl 5 version 12.2 documentation. perldoc.perl.org. Archived from the original on January 6, 2011. Retrieved 2011-01-10.
- ↑ "पर्ल 6 विशिष्टता". The Perl 6 Project. Archived from the original on December 2, 2009. Retrieved 2011-01-27.
- ↑ "पर्ल 6 कंपाइलर्स". The Perl 6 Project. Archived from the original on December 2, 2009. Retrieved 2011-01-27.
- ↑ 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 2011-02-12.
- ↑ 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 2022-01-24.
- ↑ Schwartz, Randal. "पार्सिंग पर्ल पर". Archived from the original on September 27, 2007. Retrieved 2007-01-03.
- ↑ "पर्ल जर्नल #19/9.26" (PDF). O'Reilly Media. Retrieved 2011-02-04.
- ↑ 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.
- ↑ ""कलात्मक लाइसेंस" - dev.perl.org". dev.perl.org. Archived from the original on July 24, 2018. Retrieved June 24, 2016.
- ↑ Artistic Archived July 25, 2018, at the Wayback Machine - file on the Perl 5 git repository
- ↑ "पर्ल लाइसेंसिंग". dev.perl.org. Archived from the original on January 22, 2011. Retrieved 2011-01-08.
- ↑ 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 2011-01-27.
- ↑ "ActivePerl विंडोज, मैक, लिनक्स, AIX, HP-UX और सोलारिस के लिए पर्ल है". ActiveState Software. Archived from the original on March 31, 2016. Retrieved 2011-01-09.
- ↑ "पीपीएम का उपयोग करना". ActiveState Software. Archived from the original on August 27, 2010. Retrieved 2011-01-09.
- ↑ "अलविदा पीपीएम, हैलो स्टेट टूल". 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 2021-05-18.
- ↑ Bunce, Tim; Descartes, Alligator (2000-02-04). पर्ल डीबीआई प्रोग्रामिंग: पर्ल के साथ डाटाबेस प्रोग्रामिंग (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 2007-09-01.
- ↑ Pachev, Sasha (2007-04-10). 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 2020-04-08.
- ↑ "गुलाब :: डीबी :: ऑब्जेक्ट - एक्स्टेंसिबल, उच्च प्रदर्शन ऑब्जेक्ट-रिलेशनल मैपर (ओआरएम)। - metacpan.org". metacpan.org. Archived from the original on August 6, 2020. Retrieved 2020-04-08.
- ↑ "टी एसक्यूएल डेवलपर संदर्भ पूछताछ". pdfpremiumfree.com (in English). Retrieved 2021-05-18.
- ↑ "अलीओथ: द कंप्यूटर लैंग्वेज बेंचमार्क गेम: प्रोजेक्ट इन्फो". Alioth. Archived from the original on March 25, 2013. Retrieved January 13, 2011.
- ↑ "कौन से प्रोग्राम सबसे तेज़ हैं?". Computer Language Benchmarks Game. Alioth. Archived from the original on 2013-05-17. Retrieved 2011-01-13.
- ↑ Leroy, Jean-Louis (2005-12-01). "एक सामयिक शुरुआत". 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 (2011-06-23). लर्निंग पर्ल (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 2011-01-26.
- ↑ "पर्ल 5.12.0 जारी - अद्यतन". Heise Media UK. 2010-04-13. Archived from the original on April 19, 2010. Retrieved 2011-01-08.
- ↑ "पर्ल 5.16.1 जारी!". 2012-08-09. Archived from the original on December 2, 2012. Retrieved 2012-08-26.
- ↑ "अजेय पर्ल रिलीज़ ट्रेन?". LWN.net. 2012-02-29. Archived from the original on August 22, 2016. Retrieved 2012-03-28.
- ↑ TIOBE Software Index (2020). "टीआईओबीई प्रोग्रामिंग कम्युनिटी इंडेक्स पर्ल". Archived from the original on February 25, 2018. Retrieved 2020-02-06.
- ↑ "पर्ल 6". The पर्ल 6Project. Archived from the original on February 21, 2011. Retrieved 2011-02-27.
- ↑ Torkington, Nathan. "लैरी की बात का प्रतिलेखन". nntp.perl.org. Archived from the original on May 1, 2011. Retrieved 2011-01-25.
- ↑ "Perl6 - पर्ल का भविष्य". www.java-samples.com. Retrieved 2021-05-18.
- ↑ "आधिकारिक पर्ल 6 दस्तावेज़ीकरण". The Perl 6 Project. Archived from the original on August 31, 2009. Retrieved 2011-01-25.
- ↑ Kuhn, Bradley (January 2001). "पर्ल को जावा वर्चुअल मशीन में पोर्ट करने पर विचार". University of Cincinnati. Archived from the original on March 21, 2008. Retrieved 2008-06-28.
{{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 2013-09-21.
- ↑ Perl Steering Council. "पर्ल 7 का क्या हुआ?". blogs.perl.org. Retrieved 7 July 2022.
- ↑ Wall, Larry (2014-05-22). "पर्ल कल्चर (प्याज का पहला राज्य उर्फ)". Archived from the original on May 22, 2014. Retrieved May 22, 2014.
- ↑ Larry Wall. "प्याज का दूसरा राज्य". Archived from the original on July 17, 2012. Retrieved 2012-10-12. (Search for 'church')
- ↑ Randal L. Schwartz (1999-05-02). "एक और पर्ल हैकर कौन है?". 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 (2005-03-31). "कैननिकल जेएपीएच". PerlMonks. Archived from the original on July 22, 2011. Retrieved 2011-05-16.
- ↑ Greg Bacon (1999-05-28). "पुन: एक टुकड़ा में एक मूल्य बढ़ाना". Newsgroup: comp.lang.perl.misc. Usenet: 7imnti$mjh$1@info2.uah.edu. Archived from the original on July 7, 2011. Retrieved 2011-07-12.
- ↑ Back, Adam. "पर्ल की 5 लाइनों में आरएसए". Archived from the original on January 19, 2011. Retrieved 2011-01-10.
- ↑ "कोड गोल्फ: कोड गोल्फ क्या है?". 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 2011-01-27.
- ↑ Conway, Damian. "Lingua::Romana::Perligata -- XXI-imum Century के लिए पर्ल". Archived from the original on September 30, 2007. Retrieved June 15, 2006.
- ↑ Brocard, Leon (2014-05-22). "पर्ल का प्रयोग करें; जर्नल ऑफ एक्मे". GrnLight.net. Archived from the original on 2014-05-22.
- ↑ "डेवलपर अद्यतन". Dr. Dobb's डेवलपर अद्यतन. Miller-Freeman. 2. 1995.
- ↑ 128.0 128.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 2013-06-30.
- ↑ 130.0 130.1 "पर्ल 6 अकसर किये गए सवाल". Perl 6 Project. Archived from the original on July 1, 2013. Retrieved 2013-06-30.
- ↑ 131.0 131.1 chromatic (2012-12-31). "पर्ल 5 बनाम पर्ल 6 का कार्यान्वयन". Archived from the original on July 29, 2013. Retrieved 2013-06-30.
अग्रिम पठन
- 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.