पर्ल: Difference between revisions

From Vigyanwiki
No edit summary
No edit summary
Line 62: Line 62:
=== अर्ली पर्ल 5 ===
=== अर्ली पर्ल 5 ===
{{Main|पर्ल 5 संस्करण इतिहास}}
{{Main|पर्ल 5 संस्करण इतिहास}}
पर्ल 4 [[रखरखाव रिलीज]] की एक श्रृंखला के माध्यम से चला गया, 1993 में पर्ल 4.036 में समाप्त हुआ, जिसके बाद वॉल ने पर्ल 5 पर काम शुरू करने के लिए पर्ल 4 को छोड़ दिया। पर्ल 5 का प्रारंभिक डिजाइन 1994 में जारी रहा। पर्ल 5 को अलग-अलग प्लेटफॉर्म पर पोर्ट करने के काम को समन्वित करें। यह पर्ल 5 के विकास, रखरखाव और पोर्टिंग के लिए प्राथमिक मंच बना हुआ है।<ref>{{Cite web | url=http://www.nntp.perl.org/group/perl.perl5.porters/ | title=perl.perl5.porters संग्रह| access-date=2011-01-13 | publisher=perl.org | archive-date=May 1, 2011 | archive-url=https://web.archive.org/web/20110501081803/http://www.nntp.perl.org/group/perl.perl5.porters/ | url-status=live }}</ref>
पर्ल 4 [[रखरखाव रिलीज]] की एक श्रृंखला के माध्यम से चला गया, 1993 में पर्ल 4.036 में समाप्त हुआ, जिसके बाद वॉल ने पर्ल 5 पर काम प्रारभ्म करने के लिए पर्ल 4 को छोड़ दिया। पर्ल 5 का प्रारंभिक डिजाइन 1994 में जारी रहा। पर्ल 5 को अलग-अलग प्लेटफॉर्म पर पोर्ट करने के काम को समन्वित करें। यह पर्ल 5 के विकास, रखरखाव और पोर्टिंग के लिए प्राथमिक मंच बना हुआ है।<ref>{{Cite web | url=http://www.nntp.perl.org/group/perl.perl5.porters/ | title=perl.perl5.porters संग्रह| access-date=2011-01-13 | publisher=perl.org | archive-date=May 1, 2011 | archive-url=https://web.archive.org/web/20110501081803/http://www.nntp.perl.org/group/perl.perl5.porters/ | url-status=live }}</ref>
पर्ल 5.000 को 17 अक्टूबर 1994 को जारी किया गया था।<ref name="perlhist">{{Cite web | url=http://perldoc.perl.org/perlhist.html | title=पर्लहिस्ट — पर्ल इतिहास रिकॉर्ड| access-date=2011-01-21 | work=Perl 5 version 12.2 documentation | publisher=perldoc.perl.org | archive-date=January 13, 2011 | archive-url=https://web.archive.org/web/20110113030100/http://perldoc.perl.org/perlhist.html | url-status=live }}</ref> यह दुभाषिया (कंप्यूटिंग) का लगभग पूर्ण पुनर्लेखन था, और इसने ऑब्जेक्ट (कंप्यूटर विज्ञान), [[संदर्भ (कंप्यूटर विज्ञान)]], [[स्थानीय चर]] | लेक्सिकल (मेरा) चर, और [[मॉड्यूलर प्रोग्रामिंग]] सहित भाषा में कई नई सुविधाएँ जोड़ीं। महत्वपूर्ण रूप से, मॉड्यूल ने दुभाषिया को संशोधित किए बिना भाषा को विस्तारित करने के लिए एक तंत्र प्रदान किया। इसने कोर दुभाषिया को स्थिर करने की अनुमति दी, भले ही इसने साधारण पर्ल प्रोग्रामर को नई भाषा सुविधाओं को जोड़ने में सक्षम बनाया। पर्ल 5 तब से सक्रिय विकास में है।
पर्ल 5.000 को 17 अक्टूबर 1994 को जारी किया गया था।<ref name="perlhist">{{Cite web | url=http://perldoc.perl.org/perlhist.html | title=पर्लहिस्ट — पर्ल इतिहास रिकॉर्ड| access-date=2011-01-21 | work=Perl 5 version 12.2 documentation | publisher=perldoc.perl.org | archive-date=January 13, 2011 | archive-url=https://web.archive.org/web/20110113030100/http://perldoc.perl.org/perlhist.html | url-status=live }}</ref> यह दुभाषिया (कंप्यूटिंग) का लगभग पूर्ण पुनर्लेखन था, और इसने ऑब्जेक्ट (कंप्यूटर विज्ञान), [[संदर्भ (कंप्यूटर विज्ञान)]], [[स्थानीय चर]] | लेक्सिकल (मेरा) चर, और [[मॉड्यूलर प्रोग्रामिंग]] सहित भाषा में कई नई सुविधाएँ जोड़ीं। महत्वपूर्ण रूप से, मॉड्यूल ने दुभाषिया को संशोधित किए बिना भाषा को विस्तारित करने के लिए एक तंत्र प्रदान किया। इसने कोर दुभाषिया को स्थिर करने की अनुमति दी, भले ही इसने साधारण पर्ल प्रोग्रामर को नई भाषा सुविधाओं को जोड़ने में सक्षम बनाया। पर्ल 5 तब से सक्रिय विकास में है।


पर्ल 5.001 को 13 मार्च, 1995 को जारी किया गया था। पर्ल 5.002 को 29 फरवरी, 1996 को नए प्रोटोटाइप फीचर के साथ जारी किया गया था। इसने मॉड्यूल लेखकों को [[सबरूटीन]]्स बनाने की अनुमति दी जो पर्ल [[शेल निर्मित]] की तरह व्यवहार करते थे। पर्ल 5.003 को सुरक्षा रिलीज़ के रूप में 25 जून 1996 को रिलीज़ किया गया था।<ref>{{Cite web |title=पर्ल {{!}} परिभाषा, इतिहास और तथ्य {{!}} ब्रिटानिका|url=https://www.britannica.com/technology/Perl |access-date=2022-06-15 |website=www.britannica.com |language=en}}</ref>
पर्ल 5.001 को 13 मार्च, 1995 को जारी किया गया था। पर्ल 5.002 को 29 फरवरी, 1996 को नए प्रोटोटाइप फीचर के साथ जारी किया गया था। इसने मॉड्यूल लेखकों को [[सबरूटीन|सबरूटीन्स]] बनाने की अनुमति दी जो पर्ल [[शेल निर्मित]] की तरह व्यवहार करते थे। पर्ल 5.003 को सुरक्षा रिलीज़ के रूप में 25 जून 1996 को रिलीज़ किया गया था।<ref>{{Cite web |title=पर्ल {{!}} परिभाषा, इतिहास और तथ्य {{!}} ब्रिटानिका|url=https://www.britannica.com/technology/Perl |access-date=2022-06-15 |website=www.britannica.com |language=en}}</ref>
पर्ल 5 इतिहास की सबसे महत्वपूर्ण घटनाओं में से एक भाषा के बाहर घटित हुई और यह इसके मॉड्यूल समर्थन का परिणाम था। 26 अक्टूबर 1995 को, [[CPAN]] (CPAN) को पर्ल भाषा और [[पर्ल मॉड्यूल]] के लिए एक [[सॉफ्टवेयर रिपॉजिटरी]] के रूप में स्थापित किया गया था; मई 2017 तक, इसमें 35,190 वितरणों में 185,178 से अधिक मॉड्यूल हैं, जो 13,071 से अधिक लेखकों द्वारा लिखे गए हैं, और दुनिया भर में 245 से अधिक स्थानों पर नजर आते हैं।<ref>{{Cite web | url=https://www.cpan.org/ | title=सीपीएएन| access-date=2017-05-08 | publisher=[[CPAN]] | archive-date=October 3, 2019 | archive-url=https://web.archive.org/web/20191003040107/https://www.cpan.org/ | url-status=live }}</ref>
पर्ल 5 इतिहास की सबसे महत्वपूर्ण घटनाओं में से एक भाषा के बाहर घटित हुई और यह इसके मॉड्यूल समर्थन का परिणाम था। 26 अक्टूबर 1995 को, [[CPAN|सीपीएएन]] (सीपीएएन) को पर्ल भाषा और [[पर्ल मॉड्यूल]] के लिए एक [[सॉफ्टवेयर रिपॉजिटरी]] के रूप में स्थापित किया गया था; मई 2017 तक, इसमें 35,190 वितरणों में 185,178 से अधिक मॉड्यूल हैं, जो 13,071 से अधिक लेखकों द्वारा लिखे गए हैं, और दुनिया भर में 245 से अधिक स्थानों पर नजर आते हैं।<ref>{{Cite web | url=https://www.cpan.org/ | title=सीपीएएन| access-date=2017-05-08 | publisher=[[CPAN]] | archive-date=October 3, 2019 | archive-url=https://web.archive.org/web/20191003040107/https://www.cpan.org/ | url-status=live }}</ref>
पर्ल 5.004 को 15 मई, 1997 को जारी किया गया था, और इसमें अन्य बातों के अलावा, यूनिवर्सल पैकेज सम्मिलितथा, जिसमें पर्ल को एक आधार वस्तु दी गई थी जिससे सभी [[वर्ग (कंप्यूटर प्रोग्रामिंग)]] स्वचालित रूप से प्राप्त हुए थे और मॉड्यूल के संस्करणों की आवश्यकता की क्षमता थी। एक अन्य महत्वपूर्ण विकास 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 को 15 मई, 1997 को जारी किया गया था, और इसमें अन्य बातों के अतिरिक्त, यूनिवर्सल पैकेज सम्मिलित था, जिसमें पर्ल को एक आधार वस्तु दी गई थी जिससे सभी [[वर्ग (कंप्यूटर प्रोग्रामिंग)]] स्वचालित रूप से प्राप्त हुए थे और मॉड्यूल के संस्करणों की आवश्यकता की क्षमता थी। एक अन्य महत्वपूर्ण विकास CGI.pm मॉड्यूल का समावेश था,<ref name="5004delta">{{Cite web | url=http://perldoc.perl.org/perl5004delta.html | title=perl5004delta — perl5.004 के लिए नया क्या है| access-date=2011-01-08 | work=Perl 5 version 12.2 documentation | publisher=perldoc.perl.org | archive-date=February 27, 2011 | archive-url=https://web.archive.org/web/20110227200616/http://perldoc.perl.org/perl5004delta.html | url-status=live }}</ref> जिसने कॉमन गेटवे इंटरफेस के रूप में पर्ल की लोकप्रियता में योगदान दिया।<ref name="patwardhan02">{{Cite book | last1=Patwardhan | first1=Nathan | last2=Siever | first2=Ellen | last3=Spainhour | first3=Stephen | title=संक्षेप में पर्ल, दूसरा संस्करण| publisher=[[O'Reilly Media]] | year=2002 | isbn=978-0-596-00241-1 | url=https://archive.org/details/perlinnutshell00patw }}</ref>
पर्ल 5.004 ने [[माइक्रोसॉफ़्ट विंडोज़]], बेल लैब्स, [[क्यूएनएक्स]] और एमिगाओएस से प्लान 9 के लिए समर्थन जोड़ा।<ref name="5004delta" />
पर्ल 5.004 ने [[माइक्रोसॉफ़्ट विंडोज़]], बेल लैब्स, [[क्यूएनएक्स]] और एमिगाओएस से प्लान 9 के लिए समर्थन जोड़ा।<ref name="5004delta" />


पर्ल 5.005 को 22 जुलाई 1998 को जारी किया गया था। इस रिलीज में रेगुलर एक्सप्रेशन इंजन में कई सुधार, बैकएंड में नए हुक सम्मिलित थे। <code>B::*</code> मॉड्यूल, द <code>qr//</code> रेगेक्स उद्धरण ऑपरेटर, अन्य नए कोर मॉड्यूल का एक बड़ा चयन, और [[BeOS]] समेत कई और ऑपरेटिंग सिस्टम के लिए अतिरिक्त समर्थन।<ref name="5005delta">{{Cite web | url=http://perldoc.perl.org/perl5005delta.html | title=perl5005delta - perl5.005 के लिए नया क्या है| access-date=2011-01-21 | work=Perl 5 version 12.2 documentation | publisher=perldoc.perl.org | archive-date=February 3, 2011 | archive-url=https://web.archive.org/web/20110203100249/http://perldoc.perl.org/perl5005delta.html | url-status=live }}</ref>
पर्ल 5.005 को 22 जुलाई 1998 को जारी किया गया था। इस प्रदर्शन में रेगुलर एक्सप्रेशन इंजन में कई सुधार, बैकएंड में नए हुक सम्मिलित थे। <code>B::*</code> मॉड्यूल, द <code>qr//</code> रेगेक्स उद्धरण ऑपरेटर, अन्य नए कोर मॉड्यूल का एक बड़ा चयन, और [[BeOS]] समेत कई और ऑपरेटिंग सिस्टम के लिए अतिरिक्त समर्थन।<ref name="5005delta">{{Cite web | url=http://perldoc.perl.org/perl5005delta.html | title=perl5005delta - perl5.005 के लिए नया क्या है| access-date=2011-01-21 | work=Perl 5 version 12.2 documentation | publisher=perldoc.perl.org | archive-date=February 3, 2011 | archive-url=https://web.archive.org/web/20110203100249/http://perldoc.perl.org/perl5005delta.html | url-status=live }}</ref>




Line 142: Line 142:
|}
|}
पर्ल 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>
पर्ल 5.6 को 22 मार्च, 2000 को जारी किया गया था। प्रमुख परिवर्तनों में [[64-बिट कंप्यूटिंग]]|64-बिट समर्थन, [[यूनिकोड]] स्ट्रिंग प्रतिनिधित्व, 2 GiB से अधिक फ़ाइलों के लिए समर्थन और हमारा कीवर्ड सम्मिलित हैं।<ref name="56delta">{{cite web |url = http://perldoc.perl.org/perl56delta.html |title = perl56delta - पर्ल v5.6.0 के लिए नया क्या है|access-date = 2011-01-21 |work = Perl 5 version 12.2 documentation |publisher = perldoc.perl.org |archive-date = February 2, 2011 |archive-url = https://web.archive.org/web/20110202135358/http://perldoc.perl.org/perl56delta.html |url-status = live }}</ref><ref name="561delta">{{cite web |url = http://perldoc.perl.org/perl561delta.html |title = perl56delta - पर्ल v5.6.x के लिए नया क्या है|access-date = 2011-01-21 |work = Perl 5 version 12.2 documentation |publisher = perldoc.perl.org |archive-date = November 18, 2010 |archive-url = https://web.archive.org/web/20101118101544/http://perldoc.perl.org/perl561delta.html |url-status = live }}</ref> पर्ल 5.6 को विकसित करते समय, [[सॉफ्टवेयर वर्जनिंग]] स्कीम को अन्य ओपन सोर्स प्रोजेक्ट्स के समान एक में बदलने का निर्णय लिया गया था; 5.005_63 के बाद, अगला संस्करण 5.5.640 बन गया, विकास संस्करणों की योजनाओं के लिए विषम संख्याएँ और स्थिर संस्करण सम संख्याएँ हैं।<ref>{{Cite web |title=पर्ल {{!}} परिभाषा, इतिहास और तथ्य {{!}} ब्रिटानिका|url=https://www.britannica.com/technology/Perl |access-date=2022-06-15 |website=www.britannica.com |language=en}}</ref>
2000 में, वाल ने समुदाय से पर्ल के एक नए संस्करण के लिए सुझावों का आह्वान किया। इस प्रक्रिया के परिणामस्वरूप 361 RFC (टिप्पणियों के लिए अनुरोध) दस्तावेज़ तैयार हुए जिनका उपयोग पर्ल 6 के विकास में मार्गदर्शन के लिए किया जाना था। 2001 में,<ref>{{cite web |url = http://dev.perl.org/perl6/doc/design/apo/A01.html |title = सर्वनाश 1: द अग्ली, द बैड एंड द गुड|access-date = 2011-01-08 |last = Wall |first = Larry |archive-date = November 23, 2010 |archive-url = https://web.archive.org/web/20101123182201/http://dev.perl.org/perl6/doc/design/apo/A01.html |url-status = live }}</ref> पर्ल 6 के लिए सर्वनाश पर काम शुरू हुआ, दस्तावेजों की एक श्रृंखला जो परिवर्तन अनुरोधों को सारांशित करने और पर्ल की अगली पीढ़ी के डिजाइन को प्रस्तुत करने के लिए थी। उन्हें औपचारिक दस्तावेज़ के अतिरिक्त RFC के डाइजेस्ट के रूप में प्रस्तुत किया गया था। इस बिंदु पर, पर्ल 6 केवल एक भाषा के विवरण के रूप में अस्तित्व में था।{{cn|date=December 2020}}
2000 में, वाल ने समुदाय से पर्ल के एक नए संस्करण के लिए सुझावों का आह्वान किया। इस प्रक्रिया के परिणामस्वरूप 361 आरएफसी (टिप्पणियों के लिए अनुरोध) दस्तावेज़ तैयार हुए जिनका उपयोग पर्ल 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 ने यूनिकोड समर्थन में सुधार किया, एक नया I/O कार्यान्वयन जोड़ा, एक नया थ्रेड कार्यान्वयन जोड़ा, संख्यात्मक सटीकता में सुधार किया, और कई नए मॉड्यूल जोड़े।<ref name="perl58delta">{{cite web |url = http://perldoc.perl.org/perl58delta.html |title = perl58delta - पर्ल v5.8.0 के लिए नया क्या है|access-date = 2011-01-21 |work = Perl 5 version 12.2 documentation |publisher = perldoc.perl.org |archive-date = November 21, 2010 |archive-url = https://web.archive.org/web/20101121023149/http://perldoc.perl.org/perl58delta.html |url-status = live }}</ref> 2013 तक यह संस्करण अभी भी पर्ल का सबसे लोकप्रिय संस्करण बना हुआ है और इसका उपयोग Red Hat 5, Suse 10, Solaris 10, HP-UX 11.31 और AIX 5 द्वारा किया जाता है।
पर्ल 5.8 पहली बार 18 जुलाई, 2002 को जारी किया गया था, और तब से लगभग वार्षिक अद्यतन किया गया था। पर्ल 5.8 ने यूनिकोड समर्थन में सुधार किया, एक नया I/O कार्यान्वयन जोड़ा, एक नया थ्रेड कार्यान्वयन जोड़ा, संख्यात्मक सटीकता में सुधार किया, और कई नए मॉड्यूल जोड़े।<ref name="perl58delta">{{cite web |url = http://perldoc.perl.org/perl58delta.html |title = perl58delta - पर्ल v5.8.0 के लिए नया क्या है|access-date = 2011-01-21 |work = Perl 5 version 12.2 documentation |publisher = perldoc.perl.org |archive-date = November 21, 2010 |archive-url = https://web.archive.org/web/20101121023149/http://perldoc.perl.org/perl58delta.html |url-status = live }}</ref> 2013 तक यह संस्करण अभी भी पर्ल का सबसे लोकप्रिय संस्करण बना हुआ है और इसका उपयोग Red Hat 5, Suse 10, Solaris 10, HP-UX 11.31 और AIX 5 द्वारा किया जाता है।


Line 256: Line 256:


== डाटाबेस इंटरफेस ==
== डाटाबेस इंटरफेस ==
पर्ल की टेक्स्ट-हैंडलिंग क्षमताओं का उपयोग SQL प्रश्न उत्पन्न करने के लिए किया जा सकता है; सरणियाँ, हैश और स्वचालित मेमोरी प्रबंधन, लौटाए गए डेटा को एकत्र करना और संसाधित करना आसान बनाता है। उदाहरण के लिए, टिम बन्स के [[पर्ल डीबीआई]] एप्लिकेशन प्रोग्रामिंग इंटरफ़ेस (एपीआई) में, एपीआई के तर्क [[एसक्यूएल]] प्रश्नों का पाठ हो सकते हैं; इस प्रकार एक ही समय में कई भाषाओं में प्रोग्राम करना संभव है (उदाहरण के लिए, [[यहाँ दस्तावेज़]] में [[HTML]], [[जावास्क्रिप्ट]] और SQL का उपयोग करके [[वेब पृष्ठ]] बनाने के लिए)। प्रत्येक SQL क्वेरी को प्रोग्रामेटिक रूप से अनुकूलित करने के लिए पर्ल वेरिएबल इंटरपोलेशन का उपयोग, और प्रत्येक SQL क्वेरी से परिणामी [[डेटा सेट]] को प्रोग्रामेटिक रूप से होल्ड करने के लिए संरचनाओं के रूप में पर्ल सरणियों या हैश के विनिर्देश, बड़ी मात्रा में डेटा को संभालने के लिए एक उच्च-स्तरीय तंत्र की अनुमति देता है। पर्ल सबप्रोग्राम द्वारा पोस्ट-प्रोसेसिंग के लिए।<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>
पर्ल की टेक्स्ट-हैंडलिंग क्षमताओं का उपयोग एसक्यूएल प्रश्न उत्पन्न करने के लिए किया जा सकता है; सरणियाँ, हैश और स्वचालित मेमोरी प्रबंधन, लौटाए गए डेटा को एकत्र करना और संसाधित करना आसान बनाता है। उदाहरण के लिए, टिम बन्स के [[पर्ल डीबीआई]] एप्लिकेशन प्रोग्रामिंग इंटरफ़ेस (एपीआई) में, एपीआई के तर्क [[एसक्यूएल]] प्रश्नों का पाठ हो सकते हैं; इस प्रकार एक ही समय में कई भाषाओं में प्रोग्राम करना संभव है (उदाहरण के लिए, [[यहाँ दस्तावेज़]] में [[HTML]], [[जावास्क्रिप्ट]] और एसक्यूएल का उपयोग करके [[वेब पृष्ठ]] बनाने के लिए)। प्रत्येक एसक्यूएल क्वेरी को प्रोग्रामेटिक रूप से अनुकूलित करने के लिए पर्ल वेरिएबल इंटरपोलेशन का उपयोग, और प्रत्येक एसक्यूएल क्वेरी से परिणामी [[डेटा सेट]] को प्रोग्रामेटिक रूप से होल्ड करने के लिए संरचनाओं के रूप में पर्ल सरणियों या हैश के विनिर्देश, बड़ी मात्रा में डेटा को संभालने के लिए एक उच्च-स्तरीय तंत्र की अनुमति देता है। पर्ल सबप्रोग्राम द्वारा पोस्ट-प्रोसेसिंग के लिए।<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>perl</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>
पर्ल के शुरुआती संस्करणों में, दुभाषिया को [[ग्राहक की ओर]] डेटाबेस लाइब्रेरी के साथ जोड़कर डेटाबेस इंटरफेस बनाया गया था। यह पर्याप्त रूप से कठिन था कि यह केवल कुछ सबसे महत्वपूर्ण और सबसे व्यापक रूप से उपयोग किए जाने वाले डेटाबेस के लिए किया गया था, और इसने परिणामी डेटा को सीमित कर दिया। <code>perl</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 में, डेटाबेस इंटरफेस पर्ल डीबीआई मॉड्यूल द्वारा कार्यान्वित किए जाते हैं। DBI (डेटाबेस इंटरफ़ेस) मॉड्यूल पर्ल अनुप्रयोगों के लिए एकल, डेटाबेस-स्वतंत्र इंटरफ़ेस प्रस्तुत करता है, जबकि DBD (डेटाबेस ड्राइवर) मॉड्यूल लगभग 50 विभिन्न डेटाबेसों तक पहुँचने के विवरण को संभालता है; अधिकांश [[अमेरिकी राष्ट्रीय मानक संस्थान]] SQL डेटाबेस के लिए DBD ड्राइवर हैं।<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>
पर्ल 5 में, डेटाबेस इंटरफेस पर्ल डीबीआई मॉड्यूल द्वारा कार्यान्वित किए जाते हैं। DBI (डेटाबेस इंटरफ़ेस) मॉड्यूल पर्ल अनुप्रयोगों के लिए एकल, डेटाबेस-स्वतंत्र इंटरफ़ेस प्रस्तुत करता है, जबकि DBD (डेटाबेस ड्राइवर) मॉड्यूल लगभग 50 विभिन्न डेटाबेसों तक पहुँचने के विवरण को संभालता है; अधिकांश [[अमेरिकी राष्ट्रीय मानक संस्थान]] एसक्यूएल डेटाबेस के लिए DBD ड्राइवर हैं।<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>
DBI डेटाबेस हैंडल और प्रश्नों के लिए कैशिंग प्रदान करता है, जो लंबे समय तक चलने वाले निष्पादन वातावरण जैसे 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>
DBI डेटाबेस हैंडल और प्रश्नों के लिए कैशिंग प्रदान करता है, जो लंबे समय तक चलने वाले निष्पादन वातावरण जैसे 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> जो SQL प्रश्न उत्पन्न करते हैं और एप्लिकेशन लेखक को डेटा को पारदर्शी रूप से संभालते हैं।<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=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>





Revision as of 12:39, 5 January 2023

पर्ल
File:Perl language logo.svg
ParadigmMulti-paradigm: functional, imperative, object-oriented (class-based), reflective
द्वारा डिज़ाइन किया गयाLarry Wall
DeveloperLarry Wall
पहली प्रस्तुतिDecember 18, 1987; 38 years ago (1987-12-18)[1]
Stable release
  • 5.36.0[2] / 28 May 2022; 4 years ago (2022-05-28)
  • 5.34.1[3] / 13 March 2022; 4 years ago (2022-03-13)
Preview release
5.37.6[4] / 21 November 2022; 3 years ago (2022-11-21)
टाइपिंग अनुशासनDynamic
कार्यान्वयन भाषाC
ओएसCross-platform
लाइसेंसArtistic License 1.0[5][6] or GNU General Public License[7]
फ़ाइल नाम एक्सटेंशनएस.plx, .pl, .pm, .xs, .t, .pod, .cgi
वेबसाइटperl.org
Influenced by
AWK, BASIC, C, C++, Lisp, sed, Unix shell[8]
Influenced
CoffeeScript,[citation needed] Groovy,[citation needed] JavaScript, Julia, LPC, PHP, Python, Raku, Ruby, PowerShell

पर्ल दो उच्च-स्तरीय प्रोग्रामिंग भाषाओं का परिवार है | उच्च-स्तरीय, सामान्य-उद्देश्य प्रोग्रामिंग भाषा | सामान्य-उद्देश्य, दुभाषिया (कंप्यूटिंग), गतिशील प्रोग्रामिंग भाषाएँ। पर्ल 5 को संदर्भित करता है, लेकिन 2000 से 2019 तक इसने अपनी पुन: डिज़ाइन की गई बहन भाषा, पर्ल 6 को भी संदर्भित किया, इससे पहले कि अक्टूबर 2019 में बाद के नाम को आधिकारिक तौर पर राकू (प्रोग्रामिंग भाषा) में बदल दिया गया।[9][10] चूंकि पर्ल आधिकारिक तौर पर संक्षिप्त रूप नहीं है,[11] प्रैक्टिकल डेटा निकालना और रिपोर्टिंग भाषा सहित कई तरह के संक्षिप्त नाम का उपयोग किया जा रहा है।[12] पर्ल को लैरी वॉल द्वारा 1987 में एक सामान्य-उद्देश्य वाली यूनिक्स स्क्रिप्टिंग भाषा के रूप में विकसित किया गया था ताकि रिपोर्ट प्रसंस्करण को आसान बनाया जा सके।[13] तब से, इसमें कई बदलाव और संशोधन हुए हैं। राकू, जो 2000 में पर्ल 5 के एक नए स्वरूप के रूप में शुरू हुआ, अंततः एक अलग भाषा में विकसित हुआ। दोनों भाषाएँ अलग-अलग विकास टीमों द्वारा स्वतंत्र रूप से विकसित की जा रही हैं और उदारतापूर्वक एक-दूसरे से विचार उधार लेती हैं।

पर्ल भाषाएँ सी(प्रोग्रामिंग भाषा), यूनिक्स खोल, एडब्ल्यूके (प्रोग्रामिंग भाषा), और सेड सहित अन्य प्रोग्रामिंग भाषाओं से सुविधाएँ उधार लेती हैं;[1] वे यूनिक्स कमांड की कई समकालीन सूची की मनमानी डेटा-लंबाई सीमा के बिना टेक्स्ट प्रोसेसिंग सुविधाएं प्रदान करते हैं।[14] पर्ल 5 ने 1990 के दशक के अंत में अपनी शक्तिशाली नियमित अभिव्यक्ति और स्ट्रिंग (कंप्यूटिंग) पदच्छेद क्षमताओं के कारण एक कॉमन गेटवे इंटरफ़ेस भाषा के रूप में व्यापक लोकप्रियता प्राप्त की।[15][16][17][18] सीजीआई के अतिरिक्त, पर्ल 5 का उपयोग कार्यकारी प्रबंधक, कंप्यूटर नेटवर्क प्रोग्रामिंग, वित्त, जैव सूचना विज्ञान और अन्य अनुप्रयोगों जैसे ग्राफिकल यूज़र इंटरफ़ेस के लिए किया जाता है। इसे स्विस आर्मी चेनसॉ का उपनाम दिया गया है स्क्रिप्टिंग भाषाओं के लचीलेपन और शक्ति के कारण,[19] और वह भी जिसे कुछ लोग कुरूपता मानते हैं[20] कई अन्य भाषाओं की तुलना में इसके अधिक विशेष वर्णों के उपयोग के कारण। 1998 में, इसे डक्ट टेप के रूप में भी संदर्भित किया गया था जो इंटरनेट को एक साथ रखता है, एक गोंद भाषा के रूप में इसके सर्वव्यापी उपयोग और इसकी कथित अयोग्यता दोनों के संदर्भ में।[21] पर्ल एक अत्यधिक अभिव्यंजक शक्ति (कंप्यूटर विज्ञान) प्रोग्रामिंग भाषा है: किसी दिए गए एल्गोरिथ्म के लिए स्रोत कोड छोटा और अत्यधिक संकुचित हो सकता है।[22][23]


नाम

पर्ल को मूल रूप से "पर्ल" नाम दिया गया था। वॉल सकारात्मक अर्थों के साथ भाषा को एक छोटा नाम देना चाहते थे। वॉल ने पर्ल की आधिकारिक प्रदर्शन से पहले मौजूदा पर्ल (प्रोग्रामिंग भाषा) प्रोग्रामिंग भाषा की खोज की और नाम की वर्तनी बदल दी।[24] भाषा का वर्णन करते समय, नाम पूंजीकृत होता है: पर्ल। प्रोग्राम का संदर्भ देते समय, नाम अनकैपिटलाइज्ड (पर्ल) होता है क्योंकि अधिकांश यूनिक्स-जैसी फाइल सिस्टम केस-संवेदी होते हैं। प्रोग्रामिंग पर्ल के पहले संस्करण के जारी होने से पहले, भाषा को पर्ल के रूप में संदर्भित करना आम बात थी।चूंकि, रैंडल एल. श्वार्ट्ज ने पुस्तक में भाषा के नाम को पूंजीकृत किया ताकि टाइपसेट करते समय इसे बेहतर तरीके से प्रदर्शित किया जा सके। इस स्थिति के भेद को बाद में विहित के रूप में प्रलेखित किया गया था।[25] नाम को कभी-कभी संक्षिप्त नाम के रूप में विस्तारित किया जाता है: प्रैक्टिकल एक्सट्रैक्शन और रिपोर्ट भाषा[26] और वॉल्स ओन पैथोलॉजिकली इक्लेक्टिक रबिश लिस्टर जो पर्ल के मैनुअल पेज में है।[27]


इतिहास

प्रारंभिक संस्करण

लैरी वॉल ने 1987 में यूनिसिस में एक प्रोग्रामर के रूप में काम करते हुए पर्ल पर काम करना प्रारम्भ किया।[14]और 18 दिसंबर 1987 को संस्करण 1.0।[1]अगले कुछ वर्षों में भाषा का तेजी से विस्तार हुआ।

1988 में रिलीज़ हुई पर्ल 2 में एक बेहतर रेगुलर एक्सप्रेशन इंजन था। 1989 में जारी पर्ल 3 ने बाइनरी डेटा स्ट्रीम के लिए समर्थन जोड़ा।[