पर्ल: Difference between revisions
No edit summary |
No edit summary |
||
| Line 315: | Line 315: | ||
पर्ल की टेक्स्ट-हैंडलिंग क्षमताओं का उपयोग एसक्यूएल प्रश्न उत्पन्न करने के लिए किया जा सकता है; सरणियाँ, हैश और स्वचालित मेमोरी प्रबंधन, लौटाए गए डेटा को एकत्र करना और संसाधित करना सरल बनाता है। उदाहरण के लिए, टिम बन्स के [[पर्ल डीबीआई]] एप्लिकेशन प्रोग्रामिंग इंटरफ़ेस (एपीआई) में, एपीआई के तर्क [[एसक्यूएल]] प्रश्नों का पाठ हो सकते हैं; इस प्रकार एक ही समय में कई भाषाओं में प्रोग्राम करना संभव है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> | पर्ल की टेक्स्ट-हैंडलिंग क्षमताओं का उपयोग एसक्यूएल प्रश्न उत्पन्न करने के लिए किया जा सकता है; सरणियाँ, हैश और स्वचालित मेमोरी प्रबंधन, लौटाए गए डेटा को एकत्र करना और संसाधित करना सरल बनाता है। उदाहरण के लिए, टिम बन्स के [[पर्ल डीबीआई]] एप्लिकेशन प्रोग्रामिंग इंटरफ़ेस (एपीआई) में, एपीआई के तर्क [[एसक्यूएल]] प्रश्नों का पाठ हो सकते हैं; इस प्रकार एक ही समय में कई भाषाओं में प्रोग्राम करना संभव है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> | |||
Revision as of 22:42, 9 January 2023
| File:Perl language logo.svg | |
| Paradigm | Multi-paradigm: functional, imperative, object-oriented (class-based), reflective |
|---|---|
| द्वारा डिज़ाइन किया गया | Larry Wall |
| Developer | Larry Wall |
| पहली प्रस्तुति | December 18, 1987[1] |
| Stable release | |
| Preview release | 5.37.6[4] / 21 November 2022
|
| टाइपिंग अनुशासन | Dynamic |
| कार्यान्वयन भाषा | C |
| ओएस | Cross-platform |
| लाइसेंस | Artistic License 1.0[5][6] or GNU General Public License[7] |
| फ़ाइल नाम एक्सटेंशनएस | .plx, .pl, .pm, .xs, .t, .pod, .cgi |
| वेबसाइट | perl.org |
| Influenced by | |
| AWK, BASIC, C, C++, Lisp, sed, Unix shell[8] | |
| Influenced | |
| CoffeeScript,[citation needed] Groovy,[citation needed] JavaScript, Julia, LPC, PHP, Python, Raku, Ruby, PowerShell | |
| |
पर्ल दो उच्च-स्तरीय, सामान्य-उद्देश्य, व्याख्या की गई, गतिशील प्रोग्रामिंग भाषाओं का परिवार है। पर्ल 5 को संदर्भित करता है, लेकिन 2000 से 2019 तक इसने स्वयं पुन: डिज़ाइन की गई सह-भाषा, पर्ल 6 को भी संदर्भित किया, इससे पहले कि अक्टूबर 2019 में बाद के नाम को सामान्यतः राकू (प्रोग्रामिंग भाषा) में परिवर्तन कर दिया गया।[9][10]
चूंकि पर्ल का सामान्यतः संक्षिप्त रूप नहीं है,[11] प्रैक्टिकल डेटा निकालना और रिपोर्टिंग भाषा सहित कई प्रकार से संक्षिप्त नाम का उपयोग किया जा रहा है।[12] पर्ल को लैरी वॉल द्वारा 1987 में सामान्य-उद्देश्य वाली यूनिक्स स्क्रिप्टिंग भाषा के रूप में विकसित किया गया था, जिससे कि रिपोर्ट प्रसंस्करण को सरल बनाया जा सके।[13] तत्पश्चात, इसमें कई परिवर्तन और संशोधन हुए हैं। राकू, जो 2000 में पर्ल 5 के नए स्वरूप के रूप में प्रारभ्म हुआ, अंततः भिन्न भाषा में विकसित हुआ। दोनों भाषाएँ भिन्न-भिन्न विकास टीमों द्वारा स्वतंत्र रूप से विकसित की जा रही हैं और उदारतापूर्वक एक-दूसरे से विचार उधार लेती हैं।
पर्ल भाषाएँ C(प्रोग्रामिंग भाषा), यूनिक्स शेल, AWK (प्रोग्रामिंग भाषा), और sed सहित अन्य प्रोग्रामिंग भाषाओं से सुविधाएँ उधार लेती हैं;[1] वे यूनिक्स कमांड की कई समकालीन सूची की मनमानी डेटा-लंबाई सीमा के बिना टेक्स्ट प्रोसेसिंग सुविधाएं प्रदान करते हैं।[14] पर्ल 5 ने 1990 के दशक के अंत में अपनी शक्तिशाली नियमित अभिव्यक्ति और स्ट्रिंग पार्सिंग क्षमताओं के कारण कॉमन गेटवे इंटरफ़ेस भाषा के रूप में व्यापक लोकप्रियता प्राप्त की।[15][16][17][18]
सीजीआई के अतिरिक्त, पर्ल 5 का उपयोग कार्यकारी प्रबंधक, नेटवर्क प्रोग्रामिंग, वित्त, जैव सूचना विज्ञान और अन्य अनुप्रयोगों जैसे ग्राफिकल यूज़र इंटरफ़ेस के लिए किया जाता है। इसके कोमलता और शक्ति के कारण इसे स्क्रिप्टिंग भाषाओं की स्विस आर्मी चेनसॉ का उपनाम दिया गया है,[19] और यह भी कि कुछ अन्य भाषाओं की तुलना में अधिक विशेष वर्णों के उपयोग के कारण कुरूपता पर विचार करते हैं।[20] 1998 में, इसे डक्ट टेप के रूप में भी संदर्भित किया गया था जो इंटरनेट को साथ रखता है, ग्लू भाषा के रूप में इसके सर्वव्यापी उपयोग और इसकी कथित अयोग्यता दोनों के संदर्भ में होते है।[21]
पर्ल अत्यधिक अभिव्यंजक प्रोग्रामिंग भाषा है: किसी दिए गए एल्गोरिथ्म के लिए स्रोत कोड लघु और अत्यधिक संकुचित हो सकता है।[22][23]
नाम
पर्ल को मूल रूप से "पर्ल" नाम दिया गया था। वॉल सकारात्मक अर्थों के साथ भाषा को लघु नाम देना चाहते थे। वॉल ने पर्ल के आधिकारिक प्रदर्शन से पहले वर्तमान समय में पर्ल प्रोग्रामिंग भाषा का शोध किया और नाम की वर्तनी में परिवर्तन कर दिया।[24]
पर्ल भाषा का वर्णन करते समय, नाम कैपिटलाइज़ होता है। प्रोग्राम का संदर्भ देते समय, नाम अनकैपिटलाइज्ड होता है क्योंकि अधिकांश यूनिक्स-जैसी फाइल सिस्टम केस-संवेदी होते हैं। प्रोग्रामिंग पर्ल के पहले संस्करण के प्रस्तावित होने से पहले, भाषा को पर्ल के रूप में संदर्भित करना सरल था। चूंकि, रैंडल एल. श्वार्ट्ज ने पुस्तक में भाषा के नाम को कैपिटलाइज़ किया जिससे टाइपसेट करते समय इसे अच्छे से प्रदर्शित किया जा सके। इस स्थिति के भेद को बाद में विहित के रूप में प्रलेखित किया गया था।[25]
नाम को कभी-कभी संक्षिप्त नाम के रूप में विस्तारित किया जाता है: प्रैक्टिकल एक्सट्रैक्शन तथा रिपोर्ट भाषा[26] और वॉल्स ओन पैथोलॉजिकली इक्लेक्टिक रबिश लिस्टर जो पर्ल के मैनुअल पेज में है।[27]
इतिहास
प्रारंभिक संस्करण
लैरी वॉल ने 1987 में पर्ल पर काम करना प्रारम्भ किया, जबकि यूनिसिस में 18 दिसंबर, 1987 को संस्करण 1.0 में प्रोग्रामर के रूप में काम कर रहे थे।[14][1]अगले कुछ वर्षों में भाषा का अधिक विस्तार हुआ।
1988 में प्रस्तावित हुई पर्ल 2 में अच्छा रेगुलर एक्सप्रेशन इंजन था। 1989 में प्रस्तावित पर्ल 3 ने बाइनरी डेटा स्ट्रीम के लिए समर्थन जोड़ा।[citation needed]
मूल रूप से, पर्ल के लिए दस्तावेज लंबा मैन पेज था। 1991 में, प्रोग्रामिंग पर्ल, जिसे कई पर्ल प्रोग्रामर अपने कवर के कारण कैमल बुक के रूप में जानते थे, प्रकाशित हुआ और भाषा के लिए वास्तविक संदर्भ बन गया। उसी समय, पर्ल संस्करण संख्या को 4 तक बढ़ा दिया गया था, भाषा में बड़े परिवर्तन को चिह्नित करने के लिए नहीं अन्यथा पुस्तक द्वारा अच्छी तरह से प्रलेखित संस्करण की पहचान करने के लिए था।[citation needed]
प्रारंभिक पर्ल 5
पर्ल 4 सुरक्षा प्रस्तावित की श्रृंखला के माध्यम से चला गया, 1993 में पर्ल 4.036 में समाप्त हुआ, जिसके बाद वॉल ने पर्ल 5 पर काम प्रारभ्म करने के लिए पर्ल 4 को छोड़ दिया। पर्ल 5 का प्रारंभिक डिजाइन 1994 में प्रस्तावित हुआ। पर्ल 5 पोर्टर्स मेलिंग लिस्ट की स्थापना मई 1994 में पर्ल 5 को भिन्न-भिन्न प्लेटफॉर्म पर पोर्ट करने के काम को समन्वित करने के लिए की गई थी।।[28]यह पर्ल 5 के विकास, सुरक्षा और पोर्टिंग के लिए प्राथमिक प्लेटफॉर्म बना हुआ है।
पर्ल 5.000 को 17 अक्टूबर 1994 को प्रस्तावित किया गया था।[29] यह दुभाषिया का लगभग पूर्ण पुनर्लेखन था, और इसने भाषा में कई नई सुविधाएँ जोड़ीं, जिनमें वस्तुएँ, संदर्भ, स्थानीय चर, शाब्दिक चर, और मॉड्यूलर सम्मलित हैं। महत्वपूर्ण रूप से, मॉड्यूल ने दुभाषिया को संशोधित किए बिना भाषा को विस्तारित करने के लिए तंत्र प्रदान किया। इसने कोर दुभाषिया को स्थिर करने की अनुमति दी, भले ही इसने साधारण पर्ल प्रोग्रामर को नई भाषा सुविधाओं को जोड़ने में सक्षम बनाया। पर्ल 5 सक्रिय विकास में है।
पर्ल 5.001 को 13 मार्च, 1995 को प्रस्तावित किया गया था। पर्ल 5.002 को 29 फरवरी, 1996 को नए प्रोटोटाइप विशेषता के साथ प्रस्तावित किया गया था। इसने मॉड्यूल लेखकों को उप-दिनचर्या बनाने की अनुमति दी। पर्ल 5.003 को सुरक्षा प्रस्तावित के रूप में 25 जून 1996 को प्रस्तावित किया गया था।[30]
पर्ल 5 इतिहास की सबसे महत्वपूर्ण घटनाओं में से भाषा के बाहर घटित हुई और यह इसके मॉड्यूल समर्थन का परिणाम था। 26 अक्टूबर 1995 को, व्यापक पर्ल आर्काइव नेटवर्क (सीपीएएन) को पर्ल भाषा और पर्ल मॉड्यूल के लिए सॉफ्टवेयर रिपॉजिटरी के रूप में स्थापित किया गया था, दिसंबर 2022 तक, इसके 43,865 वितरणों में 211,850 से अधिक मॉड्यूल हैं, जो 14,324 से अधिक लेखकों द्वारा लिखे गए हैं, और दुनिया भर में 245 से अधिक स्थानों पर दिखाई देते हैं।[31]
पर्ल 5.004 को 15 मई, 1997 को प्रस्तावित किया गया था, और इसमें अन्य बातों के अतिरिक्त, यूनिवर्सल पैकेज सम्मिलित था, जिसमें पर्ल को आधार वस्तु दी गई थी जिससे सभी वर्ग (कंप्यूटर प्रोग्रामिंग) स्वचालित रूप से प्राप्त हुए थे और मॉड्यूल के संस्करणों की आवश्यकता थी। अन्य महत्वपूर्ण विकास CGI.pm मॉड्यूल का समावेश था,[32] जिसने कॉमन गेटवे इंटरफेस के रूप में पर्ल की लोकप्रियता में योगदान दिया।[33]
पर्ल 5.004 ने माइक्रोसॉफ़्ट विंडोज़, प्लान 9, क्यूएनएक्स, और एमिगाओएस(AmigaOS) के लिए समर्थन जोड़ा।[32]
पर्ल 5.005 को 22 जुलाई 1998 को प्रस्तावित किया गया था। इस प्रस्तावित में रेगेक्स इंजन में कई संवर्द्धन, B::* मॉड्यूल के माध्यम से बैकएंड में नए हुक, qr// रेगेक्स उद्धरण ऑपरेटर, अन्य नए कोर मॉड्यूल का बड़ा चयन, और कई और ऑपरेटिंग सिस्टम के लिए अतिरिक्त समर्थन सम्मलित है, जिसमें बीओस((BeOS) हैं।[34]
2000–2020
| Major version[29] | Latest update[35] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 5.4 | 1999-04-29 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 5.5 | 2004-02-23 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 5.6 | 2003-11-15 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 5.8 | 2008-12-14 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 5.10 | 2009-08-22 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 5.12 | 2012-11-10 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 5.14 | 2013-03-10 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 5.16 | 2013-03-11 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 5.18 | 2014-10-01 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 5.20 | 2015-09-12 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 5.22 | 2017-07-15 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 5.24 | 2018-04-14 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 5.26 | 2018-11-29 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 5.28 | 2020-06-01 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 5.30 | 2020-06-01 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 5.32 | 2021-01-23 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 5.34 | 2022-03-13 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 5.36 | 2022-05-28 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 5.37 | 2022-10-20 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 7.0 | 2023? | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Old version </छोटा>
Older version, still maintained Current stable version Latest preview version Future release | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
पर्ल 5.6 को 22 मार्च, 2000 को प्रस्तावित किया गया था। प्रमुख परिवर्तनों में 64-बिट समर्थन, यूनिकोड स्ट्रिंग प्रतिनिधित्व, 2 जीआईबी (GiB) से अधिक फ़ाइलों के लिए समर्थन और कीवर्ड सम्मिलित थे।[36][37] पर्ल 5.6 को विकसित करते समय, सॉफ्टवेयर वर्जनिंग संस्करण योजना को अन्य ओपन सोर्स परियोजनाओं के समान परिवर्तन का निर्णय लिया गया था; 5.005_63 के बाद, उचित संस्करण 5.5.640 बन गया, जिसमें विषम संख्या वाले विकास संस्करण और सम संख्या वाले स्थिर संस्करण की योजना थी।[38]
2000 में, वाल ने समुदाय से पर्ल के नए संस्करण के लिए सलाह का आह्वान किया। इस प्रक्रिया के परिणामस्वरूप 361 आरएफसी(RFC) दस्तावेज़ तैयार हुए जिनका उपयोग पर्ल 6 के विकास में मार्गदर्शन के लिए किया जाना था। पर्ल 6. 2001 में,[39] पर्ल 6 के लिए एपोकैलिप्स पर काम प्रारभ्म हुआ, दस्तावेजों की श्रृंखला जो परिवर्तन अनुरोधों को सारांशित करने और पर्ल की आगामी पीढ़ी के डिजाइन को दर्शाने के लिए था। उन्हें औपचारिक दस्तावेज़ के अतिरिक्त आरएफसी के डाइजेस्ट के रूप में दर्शाया गया था। इस बिंदु पर, पर्ल 6 केवल भाषा के विवरण के रूप में अस्तित्व में था।[citation needed]
पर्ल 5.8 पहली बार 18 जुलाई, 2002 को प्रस्तावित किया गया था, और उस समय से लगभग वार्षिक अद्यतन किया गया था। पर्ल 5.8 ने यूनिकोड समर्थन में सुधार किया, नया इनपुट/आउटपुट कार्यान्वयन जोड़ा,संख्यात्मक सटीकता में सुधार किया, और कई नए मॉड्यूल जोड़े।[40] 2013 तक यह संस्करण अभी भी पर्ल का सबसे लोकप्रिय संस्करण बना हुआ है और इसका उपयोग रे Red Hat 5, Suse 10, Solaris 10, HP-UX 11.31 और AIX 5 द्वारा किया जाता है।
2004 में, सारांश पर काम प्रारम्भ हुआ – दस्तावेज़ जो मूल रूप से अपोकलीप्सेस को सारांशित करते थे, लेकिन जो पर्ल 6 भाषा के लिए विनिर्देश बन गए। फरवरी 2005 में, ऑड्रे टैंग ने हास्केल में लिखे पर्ल 6 इंटरप्रेटर पग्स पर काम करना प्रारम्भ किया।[41] पर्ल 6 को वास्तविकता बनाने की दिशा में यह पहला ठोस प्रयास था। यह प्रयास 2006 में बंद हो गया।[42]
पोनी (PONIE) पर्ल ऑन न्यू इंटरनल इंजन का संक्षिप्त नाम है। पोनी परियोजना 2003 से 2006 तक अस्तित्व में थी और पर्ल 5 और 6 के बीच सेतु बनना था। यह पैरेट पर्ल 6 आभासी मशीन पर चलने के लिए पर्ल 5 दुभाषिया को फिर से लिखने का प्रयास था। लक्ष्य दुनिया भर की हजारों कंपनियों में पर्ल 5 कोड की लाखों लाइनों का भविष्य सुनिश्चित करना था।[43] पोनी परियोजना 2006 में समाप्त हो गई और अब इसे सक्रिय रूप से विकसित नहीं किया जा रहा है। पोनी के भाग के रूप में पर्ल 5 दुभाषिया में किए गए कुछ सुधारों को उस परियोजना में जोड़ दिया गया था।[44]
18 दिसम्बर 2007 को पर्ल 1.0, पर्ल 5.10.0 की 20वीं वर्षगांठ प्रस्तावित की गई। पर्ल 5.10.0 में उल्लेखनीय नई विशेषताएं सम्मिलित हैं, जो पर्ल 6 के निकटतम हैं। इनमें स्विच स्टेटमेंट (जिसे दिया गया "/" कब कहा जाता है), रेगुलर एक्सप्रेशन अपडेट और स्मार्ट मैच ऑपरेटर (~~) सम्मिलित हैं।[45][46]इसी समय के निकटतम, पैरेट आभासी मशीन के साथ मिलकर विकसित, पर्ल 6 के कार्यान्वयन पर विकास आरम्भ हुआ। जिसे राकुडो पर्ल के नाम से जाना जाता है। नवंबर 2009 तक, राकुडो पर्ल की मासिक प्रदर्शन नियमित रूप से होता रहा है और अब यह पर्ल 6 का सबसे पूर्ण कार्यान्वयन है।
पर्ल 5 की विकास प्रक्रिया में बड़ा परिवर्तन पर्ल 5.11 के साथ हुआ; विकास समुदाय स्थिर के वार्षिक शेड्यूल के साथ, मासिक प्रस्तावित चक्र में परिवर्तन किया गया है। उस योजना के अनुसार, तीन महीने में स्थिर प्रस्तावित के बाद बग फिक्स पॉइंट प्रस्तावित होंगे।[citation needed]
12 अप्रैल 2010 को पर्ल 5.12.0 प्रस्तावित किया गया। उल्लेखनीय कोर संवर्द्धन में नएpackage NAME VERSION प्रारूप , यदा यदा ऑपरेटर (प्लेसहोल्डर कोड को चिह्नित करने का निश्चय है जो अभी तक लागू नहीं हुआ है), निहित कठोरता, पूर्ण Y2038 अनुपालन, रेगेक्स रूपांतरण ओवरलोडिंग, डीट्रेस (DTrace) समर्थन और यूनिकोड 5.2 सम्मलित हैं।।[47]
14 मई, 2011 को पर्ल 5.14 को जेसन (JSON) बिल्ट-इन सहयोग के साथ प्रस्तावित किया गया था।[48]
20 मई 2012 को पर्ल 5.16 प्रस्तावित किया गया था। उल्लेखनीय नई सुविधाओं में पर्ल के दिए गए संस्करण को निर्दिष्ट करने की क्षमता सम्मिलित है, जो कि अनुकरण करना चाहता है, जिससे उपयोगकर्ता पर्ल के संस्करण को अपग्रेड कर सकते हैं, लेकिन फिर भी पुरानी स्क्रिप्ट चलाते हैं जो सामान्य रूप से असंगत होती हैं।[49] पर्ल 5.16 यूनिकोड 6.1 का समर्थन करने के लिए कोर को भी अपडेट करता हैI
18 मई, 2013 को पर्ल 5.18 प्रस्तावित किया गया था। उल्लेखनीय नई विशेषताओं में नए डीट्रेस हुक, लेक्सिकल उप, अधिक कोर:: उप, सुरक्षा कारणों से हैश का ओवरहाल, यूनिकोड 6.2 के लिए समर्थन सम्मलित हैं।
27 मई 2014 को पर्ल 5.20 प्रस्तावित किया गया था। उल्लेखनीय नई सुविधाओं में सबरूटीन सिग्नेचर, हैश स्लाइस/नय