पर्ल

पर्ल दो उच्च-स्तरीय, सामान्य-उद्देश्य, व्याख्या की गई, डायनामिक्स प्रोग्रामिंग भाषाओं का वर्ग है। पर्ल 5 को संदर्भित करता है, लेकिन 2000 से 2019 तक इसने स्वयं पुन: डिज़ाइन की गई सह-भाषा, पर्ल 6 को भी संदर्भित किया, इससे पहले कि अक्टूबर 2019 में बाद के नाम को सामान्यतः राकू (प्रोग्रामिंग भाषा) में परिवर्तन कर दिया गया।

चूंकि पर्ल का सामान्यतः संक्षिप्त रूप नहीं है, प्रैक्टिकल डेटा निकालना और रिपोर्टिंग भाषा सहित कई प्रकार से संक्षिप्त नाम का उपयोग किया जा रहा है। पर्ल को लैरी वॉल द्वारा 1987 में सामान्य-उद्देश्य वाली यूनिक्स स्क्रिप्टिंग भाषा के रूप में विकसित किया गया था, जिससे कि रिपोर्ट प्रसंस्करण को सरल बनाया जा सके। तत्पश्चात, इसमें कई परिवर्तन और संशोधन हुए हैं। राकू, जो 2000 में पर्ल 5 के नए स्वरूप के रूप में प्रारभ्म हुआ, अंततः भिन्न भाषा में विकसित हुआ। दोनों भाषाएँ भिन्न-भिन्न विकास टीमों द्वारा स्वतंत्र रूप से विकसित की जा रही हैं और उदारतापूर्वक एक-दूसरे से विचार उधार लेती हैं।

पर्ल भाषाएँ C(प्रोग्रामिंग भाषा), यूनिक्स शेल, AWK (प्रोग्रामिंग भाषा), और sed सहित अन्य प्रोग्रामिंग भाषाओं से सुविधाएँ उधार लेती हैं; वे यूनिक्स कमांड की कई समकालीन सूची की मनमानी डेटा-लंबाई सीमा के बिना टेक्स्ट प्रोसेसिंग सुविधाएं प्रदान करते हैं। पर्ल 5 ने 1990 के दशक के अंत में अपनी शक्तिशाली नियमित अभिव्यक्ति और स्ट्रिंग पार्सिंग क्षमताओं के कारण कॉमन गेटवे इंटरफ़ेस भाषा के रूप में व्यापक लोकप्रियता प्राप्त की।

सीजीआई के अतिरिक्त, पर्ल 5 का उपयोग कार्यकारी प्रबंधक, नेटवर्क प्रोग्रामिंग, वित्त, जैव सूचना विज्ञान और अन्य अनुप्रयोगों जैसे ग्राफिकल यूज़र इंटरफ़ेस के लिए किया जाता है। इसके कोमलता और शक्ति के कारण इसे स्क्रिप्टिंग भाषाओं की स्विस आर्मी चेनसॉ का उपनाम दिया गया है, और यह भी कि कुछ अन्य भाषाओं की तुलना में अधिक विशेष वर्णों के उपयोग के कारण कुरूपता पर विचार करते हैं। 1998 में, इसे डक्ट टेप के रूप में भी संदर्भित किया गया था जो इंटरनेट को साथ रखता है, ग्लू भाषा के रूप में इसके सर्वव्यापी उपयोग और इसकी कथित अयोग्यता दोनों के संदर्भ में होते है।

पर्ल अत्यधिक अभिव्यंजक प्रोग्रामिंग भाषा है: किसी दिए गए एल्गोरिथ्म के लिए स्रोत कोड लघु और अत्यधिक संकुचित हो सकता है।

नाम
पर्ल को मूल रूप से "पर्ल" नाम दिया गया था। वॉल सकारात्मक अर्थों के साथ भाषा को लघु नाम देना चाहते थे। वॉल ने पर्ल के आधिकारिक प्रदर्शन से पहले वर्तमान समय में पर्ल प्रोग्रामिंग भाषा का शोध किया और नाम की वर्तनी में परिवर्तन कर दिया।

पर्ल भाषा का वर्णन करते समय, नाम कैपिटलाइज़ होता है। प्रोग्राम का संदर्भ देते समय, नाम अनकैपिटलाइज्ड होता है क्योंकि अधिकांश यूनिक्स-जैसी फाइल सिस्टम केस-संवेदी होते हैं। प्रोग्रामिंग पर्ल के पहले संस्करण के प्रस्तावित होने से पहले, भाषा को पर्ल के रूप में संदर्भित करना सरल था। चूंकि, रैंडल एल. श्वार्ट्ज ने पुस्तक में भाषा के नाम को कैपिटलाइज़ किया जिससे टाइपसेट करते समय इसे अच्छे से प्रदर्शित किया जा सके। इस स्थिति के भेद को बाद में विहित के रूप में प्रलेखित किया गया था।

नाम को कभी-कभी संक्षिप्त नाम के रूप में विस्तारित किया जाता है: प्रैक्टिकल एक्सट्रैक्शन तथा रिपोर्ट भाषा और वॉल्स ओन पैथोलॉजिकली इक्लेक्टिक रबिश लिस्टर जो पर्ल के मैनुअल पेज में है।

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

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

मूल रूप से, पर्ल के लिए दस्तावेज लंबा मैन पेज था। 1991 में, प्रोग्रामिंग पर्ल, जिसे कई पर्ल प्रोग्रामर अपने कवर के कारण कैमल बुक के रूप में जानते थे, प्रकाशित हुआ और भाषा के लिए वास्तविक संदर्भ बन गया। उसी समय, पर्ल संस्करण संख्या को 4 तक बढ़ा दिया गया था, भाषा में बड़े परिवर्तन को चिह्नित करने के लिए नहीं अन्यथा पुस्तक द्वारा अच्छी तरह से प्रलेखित संस्करण की पहचान करने के लिए था।

प्रारंभिक पर्ल 5
पर्ल 4 सुरक्षा प्रस्तावित की श्रृंखला के माध्यम से चला गया, 1993 में पर्ल 4.036 में समाप्त हुआ, जिसके बाद वॉल ने पर्ल 5 पर काम प्रारभ्म करने के लिए पर्ल 4 को छोड़ दिया। पर्ल 5 का प्रारंभिक डिजाइन 1994 में प्रस्तावित हुआ। पर्ल 5 पोर्टर्स मेलिंग लिस्ट की स्थापना मई 1994 में पर्ल 5 को भिन्न-भिन्न प्लेटफॉर्म पर पोर्ट करने के काम को समन्वित करने के लिए की गई थी।। यह पर्ल 5 के विकास, सुरक्षा और पोर्टिंग के लिए प्राथमिक प्लेटफॉर्म बना हुआ है।

पर्ल 5.000 को 17 अक्टूबर 1994 को प्रस्तावित किया गया था। यह दुभाषिया का लगभग पूर्ण पुनर्लेखन था, और इसने भाषा में कई नई सुविधाएँ जोड़ीं, जिनमें वस्तुएँ, संदर्भ, स्थानीय चर, शाब्दिक चर, और मॉड्यूलर सम्मलित हैं। महत्वपूर्ण रूप से, मॉड्यूल ने दुभाषिया को संशोधित किए बिना भाषा को विस्तारित करने के लिए तंत्र प्रदान किया। इसने कोर दुभाषिया को स्थिर करने की अनुमति दी, भले ही इसने साधारण पर्ल प्रोग्रामर को नई भाषा सुविधाओं को जोड़ने में सक्षम बनाया। पर्ल 5 सक्रिय विकास में है।

पर्ल 5.001 को 13 मार्च, 1995 को प्रस्तावित किया गया था। पर्ल 5.002 को 29 फरवरी, 1996 को नए प्रोटोटाइप विशेषता के साथ प्रस्तावित किया गया था। इसने मॉड्यूल लेखकों को उप-दिनचर्या बनाने की अनुमति दी। पर्ल 5.003 को सुरक्षा प्रस्तावित के रूप में 25 जून 1996 को प्रस्तावित किया गया था।

पर्ल 5 इतिहास की सबसे महत्वपूर्ण घटनाओं में से भाषा के बाहर घटित हुई और यह इसके मॉड्यूल समर्थन का परिणाम था। 26 अक्टूबर 1995 को, व्यापक पर्ल आर्काइव नेटवर्क (सीपीएएन) को पर्ल भाषा और पर्ल मॉड्यूल के लिए सॉफ्टवेयर रिपॉजिटरी के रूप में स्थापित किया गया था, दिसंबर 2022 तक, इसके 43,865 वितरणों में 211,850 से अधिक मॉड्यूल हैं, जो 14,324 से अधिक लेखकों द्वारा लिखे गए हैं, और दुनिया भर में 245 से अधिक स्थानों पर दिखाई देते हैं।

पर्ल 5.004 को 15 मई, 1997 को प्रस्तावित किया गया था, और इसमें अन्य बातों के अतिरिक्त, यूनिवर्सल पैकेज सम्मिलित था, जिसमें पर्ल को आधार वस्तु दी गई थी जिससे सभी वर्ग (कंप्यूटर प्रोग्रामिंग) स्वचालित रूप से प्राप्त हुए थे और मॉड्यूल के संस्करणों की आवश्यकता थी। अन्य महत्वपूर्ण विकास CGI.pm मॉड्यूल का समावेश था, जिसने कॉमन गेटवे इंटरफेस के रूप में पर्ल की लोकप्रियता में योगदान दिया।

पर्ल 5.004 ने माइक्रोसॉफ़्ट विंडोज़, प्लान 9, क्यूएनएक्स, और एमिगाओएस(AmigaOS) के लिए समर्थन जोड़ा।

पर्ल 5.005 को 22 जुलाई 1998 को प्रस्तावित किया गया था। इस प्रस्तावित में रेगेक्स इंजन में कई संवर्द्धन,  मॉड्यूल के माध्यम से बैकएंड में नए हुक,   रेगेक्स उद्धरण ऑपरेटर, अन्य नए कोर मॉड्यूल का बड़ा चयन, और कई और ऑपरेटिंग सिस्टम के लिए अतिरिक्त समर्थन सम्मलित है, जिसमें बीओस((BeOS) हैं।

2000–2020
पर्ल 5.6 को 22 मार्च, 2000 को प्रस्तावित किया गया था। प्रमुख परिवर्तनों में 64-बिट समर्थन, यूनिकोड स्ट्रिंग प्रतिनिधित्व, 2 जीआईबी (GiB) से अधिक फ़ाइलों के लिए समर्थन और कीवर्ड सम्मिलित थे।  पर्ल 5.6 को विकसित करते समय, सॉफ्टवेयर वर्जनिंग संस्करण योजना को अन्य ओपन सोर्स परियोजनाओं के समान  परिवर्तन का निर्णय लिया गया था; 5.005_63 के बाद, उचित संस्करण 5.5.640 बन गया,  जिसमें विषम संख्या वाले विकास संस्करण और सम संख्या वाले स्थिर संस्करण की योजना थी।

2000 में, वाल ने समुदाय से पर्ल के नए संस्करण के लिए सलाह का आह्वान किया। इस प्रक्रिया के परिणामस्वरूप 361 आरएफसी(RFC) दस्तावेज़ तैयार हुए जिनका उपयोग पर्ल 6 के विकास में मार्गदर्शन के लिए किया जाना था। पर्ल 6. 2001 में, पर्ल 6 के लिए एपोकैलिप्स पर काम प्रारभ्म हुआ, दस्तावेजों की श्रृंखला जो परिवर्तन अनुरोधों को सारांशित करने और पर्ल की आगामी पीढ़ी के डिजाइन को दर्शाने के लिए था। उन्हें औपचारिक दस्तावेज़ के अतिरिक्त आरएफसी के डाइजेस्ट के रूप में दर्शाया गया था। इस बिंदु पर, पर्ल 6 केवल भाषा के विवरण के रूप में अस्तित्व में था।

पर्ल 5.8 पहली बार 18 जुलाई, 2002 को प्रस्तावित किया गया था, और उस समय से लगभग वार्षिक अद्यतन किया गया था। पर्ल 5.8 ने यूनिकोड समर्थन में सुधार किया, नया इनपुट/आउटपुट कार्यान्वयन जोड़ा,संख्यात्मक सटीकता में सुधार किया, और कई नए मॉड्यूल जोड़े। 2013 तक यह संस्करण अभी भी पर्ल का सबसे लोकप्रिय संस्करण बना हुआ है और इसका उपयोग रे Red Hat 5, Suse 10, Solaris 10, HP-UX 11.31 और AIX 5 द्वारा किया जाता है।

2004 में, सारांश पर काम प्रारम्भ हुआ – दस्तावेज़ जो मूल रूप से अपोकलीप्सेस को सारांशित करते थे, लेकिन जो पर्ल 6 भाषा के लिए विनिर्देश बन गए। फरवरी 2005 में, ऑड्रे टैंग ने हास्केल में लिखे पर्ल 6 इंटरप्रेटर पग्स पर काम करना प्रारम्भ किया। पर्ल 6 को वास्तविकता बनाने की दिशा में यह पहला ठोस प्रयास था। यह प्रयास 2006 में बंद हो गया।

पोनी (PONIE) पर्ल ऑन न्यू इंटरनल इंजन का संक्षिप्त नाम है। पोनी परियोजना 2003 से 2006 तक अस्तित्व में थी और पर्ल 5 और 6 के बीच सेतु बनना था। यह पैरेट पर्ल 6 आभासी मशीन पर चलने के लिए पर्ल 5 दुभाषिया को फिर से लिखने का प्रयास था। लक्ष्य दुनिया भर की हजारों कंपनियों में पर्ल 5 कोड की लाखों लाइनों का भविष्य सुनिश्चित करना था। पोनी परियोजना 2006 में समाप्त हो गई और अब इसे सक्रिय रूप से विकसित नहीं किया जा रहा है। पोनी के भाग के रूप में पर्ल 5 दुभाषिया में किए गए कुछ सुधारों को उस परियोजना में जोड़ दिया गया था।

18 दिसम्बर 2007 को पर्ल 1.0, पर्ल 5.10.0 की 20वीं वर्षगांठ प्रस्तावित की गई। पर्ल 5.10.0 में उल्लेखनीय नई विशेषताएं सम्मिलित हैं, जो पर्ल 6 के निकटतम हैं। इनमें स्विच स्टेटमेंट (जिसे दिया गया "/" कब कहा जाता है), रेगुलर एक्सप्रेशन अपडेट और स्मार्ट मैच ऑपरेटर सम्मिलित हैं।  इसी समय के निकटतम, पैरेट आभासी मशीन के साथ मिलकर विकसित, पर्ल 6 के कार्यान्वयन पर विकास आरम्भ हुआ। जिसे राकुडो पर्ल के नाम से जाना जाता है। नवंबर 2009 तक, राकुडो पर्ल की मासिक प्रदर्शन नियमित रूप से होता रहा है और अब यह पर्ल 6 का सबसे पूर्ण कार्यान्वयन है।

पर्ल 5 की विकास प्रक्रिया में बड़ा परिवर्तन पर्ल 5.11 के साथ हुआ; विकास समुदाय स्थिर के वार्षिक शेड्यूल के साथ, मासिक प्रस्तावित चक्र में परिवर्तन किया गया है। उस योजना के अनुसार, तीन महीने में स्थिर प्रस्तावित के बाद बग फिक्स पॉइंट प्रस्तावित होंगे।

12 अप्रैल 2010 को पर्ल 5.12.0 प्रस्तावित किया गया। उल्लेखनीय कोर संवर्द्धन में नए प्रारूप, यदा यदा ऑपरेटर (प्लेसहोल्डर कोड को चिह्नित करने का निश्चय है जो अभी तक लागू नहीं हुआ है), निहित कठोरता, पूर्ण  Y2038 अनुपालन, रेगेक्स रूपांतरण ओवरलोडिंग, डीट्रेस (DTrace) समर्थन और यूनिकोड 5.2 सम्मलित हैं।।

14 मई, 2011 को पर्ल 5.14 को जेसन (JSON) बिल्ट-इन सहयोग के साथ प्रस्तावित किया गया था।

20 मई 2012 को पर्ल 5.16 प्रस्तावित किया गया था। उल्लेखनीय नई सुविधाओं में पर्ल के दिए गए संस्करण को निर्दिष्ट करने की क्षमता सम्मिलित है, जो कि अनुकरण करना चाहता है, जिससे उपयोगकर्ता पर्ल के संस्करण को अपग्रेड कर सकते हैं, लेकिन फिर भी पुरानी स्क्रिप्ट चलाते हैं जो सामान्य रूप से असंगत होती हैं। पर्ल 5.16 यूनिकोड 6.1 का समर्थन करने के लिए कोर को भी अपडेट करता है।

18 मई, 2013 को पर्ल 5.18 जारी किया गया था। उल्लेखनीय नई विशेषताओं में नए dtrace हुक, लेक्सिकल सब, अधिक CORE:: सब, सुरक्षा कारणों से हैश का ओवरहाल, यूनिकोड 6.2 के लिए समर्थन शामिल हैं। पर्ल 5.16 यूनिकोड 6.1 का समर्थन करने के लिए कोर को भी अपडेट करता हैI

18 मई, 2013 को पर्ल 5.18 प्रस्तावित किया गया था। उल्लेखनीय नई विशेषताओं में नए डीट्रेस हुक, लेक्सिकल उप, अधिक कोर:: उप, सुरक्षा कारणों से हैश का ओवरहाल, यूनिकोड 6.2 के लिए समर्थन सम्मलित हैं।

27 मई 2014 को पर्ल 5.20 प्रस्तावित किया गया था। उल्लेखनीय नई सुविधाओं में सबरूटीन सिग्नेचर, हैश स्लाइस/नया स्लाइस प्रारूप, पोस्टफ़िक्स डेरेफ़रेंसिंग (प्रायोगिक), यूनिकोड 6.3, रैंड लगातार यादृच्छिक संख्या जनरेटर का उपयोग करना सम्मलित हैं।

कुछ पर्यवेक्षक आधुनिक पर्ल आंदोलन के प्रारम्भ में पर्ल 5.10 के प्रस्तावित का श्रेय देते हैं। विशेष रूप से, यह वाक्यांश विकास की शैली का वर्णन करता है जो सीपीएएन के उपयोग है, जो भाषा के विकास का लाभ उठाता है, और उच्च गुणवत्ता वाले कोड बनाने के बारे में कठोर है। जबकि मॉडर्न पर्ल इस विचार की सबसे प्रत्यक्ष मानक-वाहक हो सकती है, संगठनI जैसे अन्य समूह ने इस कार्य को हाथ में लिया है।

2012 और 2013 के अंत में, पर्ल 5 के लिए वैकल्पिक कार्यान्वयन के लिए कई परियोजनाएं प्रारम्भ हुईं: राकुडो पर्ल टीम द्वारा पर्ल 6, 5 स्टीवन लिटिल और दोस्तों द्वारा मो और पी2 रीनी अर्बन के अंतर्गत पर्ल 11 टीम द्वारा, जीपर्ल द्वारा आरपर्ल विल ब्रैसवेल के नेतृत्व में किकस्टार्टर परियोजना है और पर्ल11 परियोजना से संबद्ध है।

2020 आगे
जून 2020 में, पर्ल 7 को पर्ल 5 के उत्तराधिकारी के रूप में घोषित किया गया था। पर्ल 7 प्रारभ्म में 5.32 पर आधारित था, जिसमे 2021 को पहली छमाही में प्रस्तावित होने की आशा थी, और उम्मीदवारों को जल्द ही प्रस्तावित किया जाना था। इस योजना को मई 2021 में बिना किसी प्रस्तावित समय सीमा या पर्ल 5 के संस्करण के निर्दिष्ट आधार रेखा के रूप में उपयोग के लिए संशोधित किया गया था। पर्ल 7 के प्रस्तावित होने पर, पर्ल 5 का दीर्घकालिक सुरक्षित किया जाएगा। समर्थित पर्ल 5 संस्करण को चूंकि महत्वपूर्ण सुरक्षा और बग फिक्स प्राप्त होते रहेंगे।

कैमल
ओ'रेली मीडिया (O'Reilly Media) द्वारा प्रकाशित प्रोग्रामिंग पर्ल, कवर पर ड्रोमेडरी कैमल की तस्वीर प्रदर्शित करता है और इसे सामान्यतः कैमल बुक कहा जाता है। यह छवि टी-शर्ट और अन्य कपड़ों की वस्तुओं पर दिखने वाले पर्ल के साथ-साथ सामान्य हैकर प्रतीक का अनौपचारिक प्रतीक बन गई है। ओ'रेली ट्रेडमार्क के रूप में छवि का अधिकारी है, लेकिन इसे गैर-व्यावसायिक उपयोग के लिए लाइसेंस देता है, जिसके लिए केवल www.perl.com के लिंक की आवश्यकता होती है। व्यावसायिक उपयोग के लिए लाइसेंस देने का निर्णय स्थिति-दर-स्थिति आधार पर लिया जाता है। ओ'रेली गैर-वाणिज्यिक साइटों के लिए "प्रोग्रामिंग रिपब्लिक ऑफ पर्ल" लोगो और पर्ल का उपयोग करने वाली किसी भी साइट के लिए पर्ल द्वारा संचालित "पावर्ड बाय पर्ल" बटन भी प्रदान करता है।

अनियन
पर्ल फाउंडेशन के पास वैकल्पिक प्रतीक, अनियन है, जिसे वह अपनी सहायक कंपनियों, पर्ल मोंगर्स, पर्लमॉन्क्स, Perl.org, और अन्य को लाइसेंस देता है। प्रतीक पर्ल अनियन पर दृश्य वाक्य है।

रैप्टर
मोजोलिसियस के निर्माता, सेबस्टियन रिडेल ने रैप्टर डायनासोर का चित्रण करते हुए लोगो बनाया, जो सीसी-एसए लाइसेंस, संस्करण 4.0 के अधीन उपलब्ध है। रैप्टर का एनालॉग मैट एस ट्राउट द्वारा 2010 में प्रारम्भ की गई संवाद की श्रृंखला से आता है।

अवलोकन
वाल के अनुसार पर्ल के दो स्लोगन हैं। पहला है इसे करने के अधिक उपाय हैं, जिन्हें सामान्यतः टीएमटीओडब्ल्यूटीडीआई (TMTOWTDI) के नाम से जाना जाता है। दूसरा नारा है सरल वस्तु सरल होनी चाहिए और कठिन वस्तु संभव होनी चाहिए।

विशेषताएं
पर्ल की समग्र संरचना व्यापक रूप C से प्राप्त होती है। पर्ल प्रकृति में प्रक्रियात्मक प्रोग्रामिंग, चर, अभिव्यक्ति, कार्य विवरण, कोष्ठक-सीमांकित ब्लॉक (प्रोग्रामिंग), नियंत्रण संरचना और उप-दिनचर्या के साथ है।

पर्ल शेल प्रोग्रामिंग से भी विशेषता लेता है। सभी चर को प्रमुख सिगिल के साथ चिह्नित किया गया है, जो चर को सीधे स्ट्रिंग में प्रक्षेपित करने की अनुमति देता है। चूंकि, शेल के विपरीत, पर्ल चर के सभी एक्सेस पर सिगिल का उपयोग करता है, और सिगिल का उपयोग करने वाली अधिकांश अन्य प्रोग्रामिंग भाषाओं के विपरीत, सिगिल चर के प्रकार को नहीं अन्यथा अभिव्यक्ति के प्रकार को दर्शाता है। उदाहरण के लिए, जबकि सरणी को सिगिल @ (उदाहरण के लिए ) द्वारा दर्शाया जाता है, सरणी के व्यक्तिगत सदस्य को स्केलर सिगिल $ (उदाहरण के लिए  ) द्वारा दर्शाया जाता है। पर्ल में कई बिल्ट-इन फ़ंक्शंस भी हैं जो शेल प्रोग्रामिंग में प्रायः उपयोग किए जाने वाले टूल प्रदान करते हैं (चूंकि इनमें से कई टूल शेल के बाहरी प्रोग्राम द्वारा कार्यान्वित किए जाते हैं) जैसे सॉर्टिंग, और ऑपरेटिंग सिस्टम सुविधाओं को कॉल करना।

पर्ल एडब्ल्यूके से साहचर्य सरणी और सेड (sed) से नियमित अभिव्यक्तियाँ लेता है। ये कई पार्सिंग, टेक्स्ट-हैंडलिंग और डेटा-प्रबंधन कार्यों को सरल करते हैं। लिस्प (प्रोग्रामिंग भाषा) के साथ भाग किया गया ब्लॉक में अंतिम मूल्य का रिटर्न स्टेटमेंट है, और सभी कथन भी ऐसे एक्सप्रेशन हैं जिनका उपयोग स्वयं बड़े एक्सप्रेशन में किया जा सकता है।

पर्ल 5 में ऐसी विशेषताएं जोड़ी गई हैं जो जटिल डेटा संरचनाओं, प्रथम श्रेणी के कार्यों (अर्थात् मूल्यों के रूप में बंद) और वस्तु-उन्मुख प्रोग्रामिंग मॉडल का समर्थन करती हैं। इनमें कंपाइलर निर्देश (उदाहरण के लिए, कठोर प्रागमा) के साथ संदर्भ, पैकेज, क्लास-आधारित विधि-प्रेषण और लेक्सिकली स्कोप्ड चर सम्मिलित हैंI पर्ल 5 के साथ प्रदर्शित की गई प्रमुख अतिरिक्त सुविधा कोड को पुन: प्रयोज्य मॉड्यूल के रूप में पैकेज करने की क्षमता थी। वॉल ने बाद में कहा कि पर्ल 5 के मॉड्यूल सिस्टम का पूरा उद्देश्य पर्ल कोर के अतिरिक्त पर्ल संस्कृति के विकास को प्रोत्साहित करना था।

पर्ल के सभी संस्करण स्वचालित टाइप सिस्टम में, डेटा-टाइपिंग और स्वचालित मेमोरी प्रबंधन करते हैं। दुभाषिया प्रोग्राम में प्रत्येक डेटा ऑब्जेक्ट के प्रकार और कंप्यूटर डेटा भंडारण आवश्यकताओं को जानता है; यह संदर्भ गणना का उपयोग करके आवश्यकतानुसार उनके लिए भंडारण आवंटित और मुक्त करता है (इसलिए यह मैन्युअल हस्तक्षेप के बिना परिपत्र डेटा संरचनाओं को हटा नहीं सकता है)। कानूनी प्रकार के रूपांतरण-उदाहरण के लिए, संख्या से स्ट्रिंग में रूपांतरण - स्वचालित रूप से रन टाइम (कार्यक्रम जीवनचक्र चरण) पर किए जाते हैं; अवैध प्रकार के रूपांतरण घातक त्रुटियाँ हैं।

डिजाइन
पर्ल के डिजाइन को कंप्यूटर उद्योग में तीन व्यापक आकर्षण प्रतिक्रिया के रूप में समझा जा सकता है: फॉलिंग हार्डवेयर लागत, बढ़ती श्रम लागत और संकलक प्रौद्योगिकी में सुधार है। पहले के कई कंप्यूटर भाषाएँ, जैसे कि फोरट्रान और सी, का उद्देश्य अधिक मूल्य कंप्यूटर हार्डवेयर का कुशल उपयोग करना था। इसके विपरीत, पर्ल को डिजाइन किया गया था जिससे कंप्यूटर प्रोग्रामर अधिक तीव्रता से और सरल प्रोग्राम लिख सकें।

पर्ल में कई विशेषताएं हैं जो अधिक सी पी यू और मेमोरी आवश्यकताओं के मूल्य पर प्रोग्रामर के कार्य को सरल बनाती हैं। इनमें स्वचालित स्मृति प्रबंधन सम्मिलित है; डायनामिक्स टाइपिंग; स्ट्रिंग्स, सूचियाँ और हैश; नियमित अभिव्यक्ति; आत्मनिरीक्षण और फ़ंक्शन है। पर्ल नो बिल्ट-इन लिमिट्स के सिद्धांत का पालन करता है, जीरो वन इन्फिनिटी नियम के समान एक विचार करता है।

वॉल को भाषाविद् के रूप में प्रशिक्षित किया गया था, और पर्ल का डिज़ाइन भाषाई सिद्धांतों द्वारा अधिक सूचित किया गया है। उदाहरणों में हफ़मैन कोडिंग, अच्छा अंत-भार (महत्वपूर्ण जानकारी पहले आनी चाहिए), और भाषा उचित का बड़ा संग्रह सम्मिलित है। पर्ल ऐसी भाषा निर्माण का समर्थन करता है जो मनुष्यों के लिखने के लिए संक्षिप्त और स्वाभाविक है, यहां तक ​​कि जहां वे पर्ल दुभाषिया को जटिल बनाते हैं।

पर्ल का प्रारूप इस विचार को दर्शाता है कि जो वस्तु भिन्न हैं उन्हें भिन्न दिखना चाहिए। उदाहरण के लिए, स्केलर, सरणियाँ और हैश के भिन्न-भिन्न प्रमुख सिगिल हैं। ऐरे सूचकांक और हैश कुंजियाँ विभिन्न प्रकार के ब्रेसिज़ का उपयोग करती हैं। स्ट्रिंग्स और नियमित अभिव्यक्तियों के भिन्न-भिन्न मानक सीमांकक होते हैं। इस दृष्टिकोण को लिस्प (प्रोग्रामिंग भाषा) जैसी भाषा से भिन्न किया जा सकता है, जहां सभी उद्देश्यों के लिए सरल और सार्वभौमिक प्रतीकात्मक अभिव्यक्ति से बना मूल प्रारूप का उपयोग किया जाता है।

पर्ल किसी विशेष प्रोग्रामिंग प्रतिमान (प्रक्रियात्मक प्रोग्रामिंग, वस्तु उन्मुख, कार्यात्मक प्रोग्रामिंग, या अन्य) को लागू नहीं करता है या यहां तक ​​कि प्रोग्रामर को उनमें से किसी को चुनने की आवश्यकता नहीं होती है।

पर्ल भाषा और इसके निकटतम समुदाय और संस्कृति दोनों के लिए व्यापक व्यावहारिक प्रवृत्ति है। प्रोग्रामिंग पर्ल की प्रस्तावना आरम्भ होती है: पर्ल आपका काम पूरा करने के लिए भाषा है। इसका परिणाम यह है कि पर्ल सुव्यवस्थित भाषा नहीं है। इसमें कई विशेषताएं सम्मिलित हैं, इसके नियमों के अपवादों को सहन करता है, और वाक्यात्मक अस्पष्टताओं को समाधान करने के लिए अनुमानों को नियोजित करता है। कंपाइलर की क्षमाशील प्रकृति के कारण, कभी-कभी बग का शोध कठिन हो सकता है। पर्ल के फ़ंक्शन प्रलेखन सूची और स्केलर संदर्भों में अंतर्निहित फ़ंक्शंस के भिन्न व्यवहार पर टिप्पणी करते हुए कहते हैं, सामान्यतः, वे वही करते हैं जो आप चाहते हैं, जब तक कि आप स्थिरता नहीं चाहते।

पर्ल 5 के माध्यम से पर्ल संस्करणों के लिए पर्ल भाषा के लिए कोई लिखित विनिर्देश या मानक सम्मिलित नहीं है, और पर्ल के वर्तमान संस्करण बनाने के लिए कोई योजना नहीं है। दुभाषिया का केवल कार्यान्वयन हुआ है, और इसके साथ ही भाषा का भी विकास हुआ है। वह दुभाषिया, अपने कार्यात्मक परीक्षणों के साथ, भाषा के वास्तविक विनिर्देश के रूप में खड़ा होता है। पर्ल 6, तथापि, विशिष्टता के साथ आरम्भ हुआ, और कई परियोजनाएं का उद्देश्य कुछ या सभी विनिर्देशों को लागू करना है।

अनुप्रयोग
पर्ल के पास कई और विविध अनुप्रयोग हैं, जो कई मानक और तृतीय-पक्ष मॉड्यूल की उपलब्धता से जटिल हैं।

पर्ल का उपयोग मुख्य रूप से कॉमन गेटवे इंटरफ़ेस स्क्रिप्ट लिखने के लिए किया गया है: पर्ल में लिखी गई बड़ी परियोजनाओं में सी पैनल, स्लैश (वेबलॉग सिस्टम), बगजिला, अनुरोध ट्रैकर, ट्वीकी, और मूवेबल टाइप सम्मिलित हैं; पर्ल का बड़े पैमाने पर उपयोग करने वाली उच्च-ट्रैफ़िक वेबसाइटों में Priceline.com, क्रैगसलिस्ट, इंटरनेट मूवी डेटाबेस, लाइवजर्नल, डकडकगो,  स्लैशडॉट और टिकटमास्टर सम्मिलित हैं। यह पीएचपी (PHP) या पायथन (प्रोग्रामिंग लैंग्वेज) के अतिरिक्त वेब विकास के लिए लोकप्रिय LAMP (सॉफ्टवेयर बंडल) प्रौद्योगिकी स्टैक का वैकल्पिक घटक भी है। डेबियन लिनक्स वितरण में पर्ल का व्यापक रूप से सिस्टम प्रोग्रामिंग भाषा के रूप में उपयोग किया जाता है।

पर्ल को प्रायः भाषा के रूप में प्रयोग किया जाता है, जो सिस्टम और इंटरफेस को जोड़ता है जिसे विशेष रूप से इंटरऑपरेट करने के लिए डिज़ाइन नहीं किया गया था, और डेटा मंगिंग के लिए, अर्थात रिपोर्ट बनाने जैसे कार्यों के लिए बड़ी मात्रा में डेटा को परिवर्तित या संसाधित करना। वास्तव में, ये शक्तियाँ घनिष्ठ रूप से जुड़ी हुई हैं। संयोजन पर्ल को सिस्टम प्रशासकों के लिए लोकप्रिय सर्व-उद्देश्यीय भाषा बनाता है, विशेष रूप से क्योंकि छोटे लघु, जिन्हें प्रायः एक-लाइनर प्रोग्राम कहा जाता है, में प्रवेश किया जा सकता है और कमांड लाइन इंटरफेस पर चलाया जा सकता है।

पर्ल कोड को माइक्रोसॉफ्ट विंडोज और यूनिक्स में पोर्टेबल बनाया जा सकता है; इस प्रकार के कोड का उपयोग प्रायः सॉफ्टवेयर के आपूर्तिकर्ताओं द्वारा किया जाता हैI जिससे सॉफ्टवेयर निर्माण और परिनियोजन-स्क्रिप्ट की पैकेजिंग और सुरक्षा को सरल बनाया जा सके।

पर्ल /टीके और डब्लूएक्सपर्ल का उपयोग सामान्यतः पर्ल स्क्रिप्ट में ग्राफिकल यूजर इंटरफेस जोड़ने के लिए किया जाता है।

कार्यान्वयन
पर्ल को कोर इंटरप्रेटर के रूप में लागू किया गया है, जिसे सी में लिखा गया है, साथ में पर्ल और सी में लिखे मॉड्यूल का बड़ा संग्रह है।, दुभाषिया सी कोड की 150,000 पंक्तियां है और विशिष्ट मशीन आर्किटेक्चर पर 1 एमबी निष्पादन योग्य संकलित करता है। वैकल्पिक रूप से, दुभाषिया को लिंक लाइब्रेरी में संकलित किया जा सकता है और अन्य प्रोग्राम्स में अंतर्निहित किया जा सकता है। वितरण में लगभग 500 मॉड्यूल हैं, जिसमें पर्ल की 200,000 पंक्तियां और सी कोड की अतिरिक्त 350,000 पंक्तियां सम्मिलित हैं (मॉड्यूल में अधिकांश सी कोड में अक्षरों को सांकेतिक अक्षरों में बदलने का टेबल होते हैं)। दुभाषिया में ऑब्जेक्ट-ओरिएंटेड आर्किटेक्चर होता है। पर्ल भाषा के सभी तत्व - स्केलर, सरणियाँ, हैश, कोडरेफ़्स, फ़ाइल हैंडल-संरचना (सी प्रोग्रामिंग भाषा) द्वारा दुभाषिया में द्वारा दर्शाए गए हैं। इन संरचनाओं पर संचालन मैक्रो (कंप्यूटर विज्ञान), टाइपपीफ और कार्यों के बड़े संग्रह द्वारा परिभाषित किया गया है; ये पर्ल सी अप्लिकेशन प्रोग्रामिंग अंतरफलक का गठन करते हैं। पर्ल एपीआई प्रारम्भ न करने वालों के लिए आश्चर्यजनक हो सकती है, लेकिन इसके प्रवेश बिंदु सुसंगत नामकरण योजना का पालन करते हैं, जो इसका उपयोग करने वालों को मार्गदर्शन प्रदान करता है।

पर्ल दुभाषिया का जीवन सामान्यतः संकलन चरण और रन चरण में विभाजित होता है। पर्ल में, चरण दुभाषिया के जीवन-चक्र में प्रमुख चरण हैं। प्रत्येक दुभाषिया प्रत्येक चरण से केवल एक बार जाता है, और चरण निश्चित क्रम में अनुसरण करते हैं।

पर्ल के संकलन चरण में जो कुछ होता है वह संकलन है, और पर्ल के वर्तमान चरण में जो कुछ होता है वह निष्पादन है, लेकिन यह महत्वपूर्ण अपवाद हैं। संकलन चरण के समय पर्ल कोड को निष्पादित करने के लिए पर्ल अपनी क्षमता का महत्वपूर्ण उपयोग करता है। पर्ल वर्तमान समय में संकलन में भी प्रतीक्षा करेगा। वे शब्द जो उस प्रकार के प्रसंस्करण को संकेत करते हैं जो वास्तव में किसी भी समय हो रहा है, वह संकलन समय और वर्तमान समय हैं। संकलन चरण के समय अधिकांश बिंदुओं पर पर्ल संकलन समय में है, लेकिन वर्तमान चरण के समय संकलन समय भी लिपिबद्ध किया जा सकता है। स्ट्रिंग तर्क में कोड के लिए संकलन समय पास किया गया  बिल्ट-इन वर्तमान चरण के समय होता है। संकलन चरण के समय पर्ल प्रायः वर्तमान समय में होता है और अधिकांश वर्तमान चरण वर्तमान समय में व्यय करता है।

संकलन चरण में कोड में  ब्लॉक वर्तमान समय पर निष्पादित होते हैं। संकलन समय पर, दुभाषिया पर्ल कोड को प्रारूप ट्री में पार्स करता है। वर्तमान समय पर, यह ट्री ट्रैवर्सल द्वारा प्रोग्राम को क्रियान्वित करता है। पाठ को केवल पार्स किया जाता है, और प्रारूप ट्री निष्पादित होने से पहले अनुकूलन के अधीन होता है, जिससे निष्पादन अपेक्षाकृत कुशल हो। प्रारूप ट्री पर संकलन-समय के अनुकूलन में निरंतर तह और संदर्भ प्रसार सम्मलित है, लेकिन पीपहोल अनुकूलन भी किया जाता है।

पर्ल में एक ट्यूरिंग-पूर्ण व्याकरण है क्योंकि संकलन चरण के समय निष्पादित वर्तमान समय कोड से पार्सिंग प्रभावित हो सकती है। इसलिए, पर्ल को सीधे लेक्स प्रोग्रामिंग टूल/ वाईएसीसी लेक्सिकल विश्लेषण/ पार्सर संयोजन द्वारा पार्स नहीं किया जा सकता है। इसके अतिरिक्त, दुभाषिया अपने स्वयं के लेक्सर को लागू करता है, जो भाषा में अस्पष्टताओं को समाधान करने के लिए संशोधित जीएनयू बाइसन पार्सर के साथ समन्वय करता है।

यह प्रायः कहा जाता है कि केवल पर्ल ही पर्ल को पार्स कर सकता है, जिसका अर्थ है कि केवल पर्ल दुभाषिया पर्ल भाषा ही  (पर्ल) को पार्स कर सकता है, लेकिन सामान्य रूप से यह भी वास्तविक नहीं है। क्योंकि पर्ल दुभाषिया अपने संकलन चरण के समय ट्यूरिंग मशीन का अनुकरण कर सकता है, इसे प्रत्येक विषय में पार्सिंग को पूरा करने के लिए हॉल्टिंग समस्या को तय करने की आवश्यकता होगी। यह दीर्घकालिक परिणाम है कि हॉल्टिंग समस्या अनिर्णीत है, और इसलिए पर्ल भी सदैव पर्ल को पार्स नहीं कर सकता है। पर्ल अपने स्वयं के संकलन चरण में उपयोगकर्ता को अपनी पूर्ण प्रोग्रामिंग शक्ति तक पहुंच प्रदान करने का असामान्य विकल्प बनाता है। सैद्धांतिक शुद्धता की स्थिति में व्यय अधिक है, लेकिन व्यावहारिक असुविधा दुर्लभ प्रतीत होती है।

पर्ल को पार्स करने वाले अन्य प्रोग्राम, जैसे स्थैतिक कार्यक्रम विश्लेषण सोर्स-कोड एनालाइजर और इंडेंट स्टाइल ऑटो-इंडेंटर्स, को न केवल अस्पष्ट भाषा निर्माण के साथ अन्यथा सामान्य विषय में पर्ल पार्सिंग की पुनरावर्ती भाषा के साथ भी संघर्ष करना पड़ता है। एडम केनेडी (प्रोग्रामर) की पीपीआई परियोजना ने निष्पादन योग्य कोड के रूप में पर्ल को पार्स करने के अतिरिक्त दस्तावेज़ के रूप में पर्ल कोड को पार्स करने पर ध्यान केंद्रित किया (दस्तावेज़ के रूप में इसकी अखंडता बनाए रखना)। यह केनेडी ही थे जिन्होंने सबसे पहले अनुमान लगाया था कि पार्सिंग पर्ल 'हॉल्टिंग प्रॉब्लम' से पीड़ित है, जो बाद में सिद्ध हुआ।

पर्ल को कोर पर्ल भाषा के लिए 250,000 से अधिक कार्यात्मक परीक्षण और कोर मॉड्यूल के लिए 250,000 से अधिक कार्यात्मक परीक्षण के साथ वितरित किया गया है। ये सामान्य निर्माण प्रक्रिया के भाग के रूप में चलते हैं और व्यापक रूप से दुभाषिया और इसके मूल मॉड्यूल का प्रयोग करते हैं। पर्ल डेवलपर्स यह सुनिश्चित करने के लिए कार्यात्मक परीक्षणों पर आश्वास करते हैं कि दुभाषिया में परिवर्तन सॉफ्टवेयर बग प्रदर्शित नहीं करते हैं; इसके अतिरिक्त, पर्ल उपयोगकर्ता जो देखते हैं कि दुभाषिया उनके सिस्टम पर अपने कार्यात्मक परीक्षणों को पास करता है, उनमें उच्च स्तर का विश्वास हो सकता है कि यह ठीक से काम कर रहा है।

उपलब्धता
पर्ल को आर्टिस्टिक लाइसेंस 1.0 और जीएनयू जनरल पब्लिक लाइसेंस दोनों के अंतर्गत दोहरा लाइसेंस प्राप्त हैI  अधिकांश ऑपरेटिंग सिस्टम के लिए वितरण उपलब्ध हैं। यह यूनिक्स और यूनिक्स जैसी प्रणालियों पर विशेष रूप से प्रचलित है, लेकिन इसे अधिकांश आधुनिक (और कई अप्रचलित) प्लेटफार्मों पर परिवर्तन किया गया है। केवल छह रिपोर्ट किए गए अपवादों के साथ, पर्ल को सभी पॉज़िक्स-संगत, या अन्यथा-यूनिक्स-संगत, प्लेटफ़ॉर्म पर स्रोत कोड से संकलित किया जा सकता है।

क्लासिक मैक ओएस पर्यावरण के लिए आवश्यक असामान्य परिवर्तनों के कारण, मैकपर्ल नामक विशेष पोर्ट को स्वतंत्र रूप से भेज दिया गया था।

कॉम्प्रिहेंसिव पर्ल आर्काइव नेटवर्क प्रत्येक पर उपलब्ध वितरणों के लिंक के साथ समर्थित प्लेटफॉर्मों की पूरी सूची रखता है। सीपीएएन सार्वजनिक रूप से उपलब्ध पर्ल मॉड्यूल का स्रोत भी है जो मूल पर्ल वितरण का भाग नहीं हैं।

विंडोज
माइक्रोसॉफ्ट विंडोज़ के उपयोगकर्ता सामान्यतः विन32 के लिए पर्ल के मूल बाइनरी वितरणों को स्थापित करते हैं, जो सामान्यतः स्ट्रॉबेरी पर्ल या सक्रिय पर्ल है। विंडोज के अधीन सोर्स कोड से पर्ल का संकलन संभव है, लेकिन अधिकांश इंस्टॉलेशन में अपेक्षित सी कंपाइलर और बिल्ड टूल्स की अल्पता है। इससे सीपीएएन से मॉड्यूल स्थापित करना भी कठिन हो जाता है, सामान्यतः वे जो आंशिक रूप से सी में लिखे गए हैं।सक्रिय पर्ल, सक्रिय स्टेट का बंद-स्रोत वितरण है जिसमें नियमित प्रस्तावित होते हैं जो कोर पर्ल प्रस्तावित को ट्रैक करते हैं। वितरण में पहले पर्ल पैकेज मैनेजर (PPM) सम्मिलित था, सामान्य पर्ल मॉड्यूल के उपयोग को स्थापित करने, हटाने, अपग्रेड करने और प्रबंधित करने के लिए लोकप्रिय उपकरण; चूंकि, इस उपकरण को सक्रिय पर्ल 5.28 के रूप में बंद कर दिया गया था। पर्ल भाषा को लागू करने वाला विंडोज स्क्रिप्ट होस्ट (डब्ल्यूएसएच) इंजन पर्लस्क्रिप्ट भी सम्मिलित है। विजुअल पर्ल एक्टिवस्टेट उपकरण है जो पर्ल को विजुअल स्टूडियो .NET डेवलपमेंट में जोड़ता है। वीबीस्क्रिप्ट-टू-पर्ल कन्वर्टर, साथ ही विंडोज के लिए पर्ल कंपाइलर, और पर्ल के लिए एडब्लूके (awk) और सेड (sed) के कन्वर्टर्स भी इस कंपनी द्वारा तैयार किए गए हैं और विंडोज के लिए एक्टिवस्टेट सीडी भी सम्मिलित हैं, जिसमें उनके सभी डिस्ट्रीब्यूशन और कोमोडो सम्मिलित हैं। 2002 में और बाद में यूनिक्स/ लिनक्स/ पॉज़िक्स वेरिएंट पर आईडीई और सभी को छोड़कर सम्मिलित हैं।।

स्ट्राबेरी पर्ल विंडोज के लिए ओपन-सोर्स डिस्ट्रीब्यूशन है। जनवरी 2008 से इसे नियमित, त्रैमासिक प्रस्तावित किया गया है, जिसमें फीडबैक और अनुरोध के रूप में नए मॉड्यूल सम्मिलित हैं। स्ट्राबेरी पर्ल का उद्देश्य एक्सएस (XS) मॉड्यूल को संकलित करने सहित अन्य प्लेटफार्मों पर मानक पर्ल वितरण जैसे मॉड्यूल स्थापित करने में सक्षम होना है।

विंडोज के अनुसार पर्ल को चलाने का सिग्विन में एमुलेशन लेयर है। सिग्विन विंडोज पर यूनिक्स जैसा वातावरण प्रदान करता है, और सिग्विन सेट-अप प्रोग्राम में पर्ल और सीपीएएन दोनों मानक पूर्व-संकलित पैकेज के रूप में उपलब्ध हैं। चूंकि साइगविन में जीसीसी भी सम्मिलित है, इसलिए पर्ल को स्रोत से संकलित करना भी संभव है।

अन्य स्क्रिप्टिंग टूल के साथ निर्देशिका में कई विंडोज रिसोर्स किट में पर्ल निष्पादन योग्य सम्मिलित है।

पर्ल का कार्यान्वयन एमकेएस टूलकिट, इंटरिक्स (यूनिक्स के लिए विंडोज़ सेवाओं के पूर्व कार्यान्वयन का आधार) और यूडब्ल्यूआईएन के साथ आता है।

डाटाबेस इंटरफेस
पर्ल की टेक्स्ट-हैंडलिंग क्षमताओं का उपयोग एसक्यूएल प्रश्न उत्पन्न करने के लिए किया जा सकता है; सरणियाँ, हैश और स्वचालित मेमोरी प्रबंधन, लौटाए गए डेटा को एकत्र करना और संसाधित करना सरल बनाता है। उदाहरण के लिए, टिम बन्स के पर्ल डीबीआई एप्लिकेशन प्रोग्रामिंग इंटरफ़ेस (एपीआई) में, एपीआई के तर्क एसक्यूएल प्रश्नों का पाठ हो सकते हैं; इस प्रकार एक ही समय में कई भाषाओं में प्रोग्राम करना संभव हैI (उदाहरण के लिए, यहाँ दस्तावेज़ में एचटीएमएल, जावास्क्रिप्ट और एसक्यूएल का उपयोग करके वेब पृष्ठ बनाने के लिए किया जाता है)। प्रत्येक एसक्यूएल क्वेरी को प्रोग्रामेटिक रूप से अनुकूलित करने के लिए पर्ल चर इंटरपोलेशन का उपयोग, और प्रत्येक एसक्यूएल क्वेरी से परिणामी डेटा सेट को प्रोग्रामेटिक रूप से होल्ड करने के लिए संरचनाओं के रूप में पर्ल सरणियों या हैश के विनिर्देश, बड़ी मात्रा में डेटा को संभालने के लिए उच्च-स्तरीय तंत्र की अनुमति देता है। पर्ल उप-प्रोग्राम द्वारा पोस्ट-प्रोसेसिंग करता हैI पर्ल के प्रांरभिक संस्करणों में, दुभाषिया को ग्राहक की ओर डेटाबेस लाइब्रेरी के साथ जोड़कर डेटाबेस इंटरफेस बनाया गया था। यह पर्याप्त रूप से कठिन था कि यह केवल कुछ सबसे महत्वपूर्ण और सबसे व्यापक रूप से उपयोग किए जाने वाले डेटाबेस के लिए किया गया था, और इसने परिणामी डेटा को सीमित कर दिया। और परिणामी समय में केवल एक डेटाबेस इंटरफ़ेस का उपयोग करने के लिए निष्पादन योग्य प्रतिबंधित कर दिया था।

पर्ल 5 में, डेटाबेस इंटरफेस पर्ल डीबीआई मॉड्यूल द्वारा कार्यान्वित किए जाते हैं। डीबीआई (डेटाबेस इंटरफ़ेस) मॉड्यूल पर्ल अनुप्रयोगों के लिए एकल, डेटाबेस-स्वतंत्र इंटरफ़ेस दर्शाता है, जबकि डीबीडी (डेटाबेस ड्राइवर) मॉड्यूल लगभग 50 विभिन्न डेटाबेसों तक पहुँचने के विवरण को संभालता है; अधिकांश अमेरिकी राष्ट्रीय मानक संस्थान एसक्यूएल डेटाबेस के लिए डीबीडी ड्राइवर हैं।

डीबीआई डेटाबेस हैंडल और प्रश्नों के लिए कैशिंग प्रदान करता है, जो लंबे समय तक चलने वाले निष्पादन वातावरण जैसे mod_perl, में प्रदर्शन में अधिक सुधार कर सकता है। उच्च मात्रा वाले सिस्टम को स्लैशडॉट प्रभाव के रूप में लोड स्पाइक्स को रोकने में उच्च-वॉल्यूम सिस्टम की मदद करना।

आधुनिक पर्ल अनुप्रयोगों में, विशेष रूप से कैटेलिस्ट जैसे वेब फ्रेमवर्क का उपयोग करके लिखे गए, डीबीआई मॉड्यूल का उपयोग प्रायः ऑब्जेक्ट-रिलेशनल मैपर्स जैसे डीबीआईएक्स::क्लास, क्लास::डीबीआई के माध्यम से अप्रत्यक्ष रूप से किया जाता है।  जो एसक्यूएल प्रश्न उत्पन्न करता है और एप्लिकेशन लेखक को डेटा को पारदर्शी रूप से संभालता है।

तुलनात्मक प्रदर्शन
कंप्यूटर भाषा बेंचमार्क गेम कई प्रोग्रामिंग भाषाओं में विशिष्ट प्रोग्रामिंग समस्याओं के कार्यान्वयन के प्रदर्शन की तुलना करता है। सबमिट किए गए पर्ल कार्यान्वयन सामान्यतः मेमोरी-यूसेज स्पेक्ट्रम के उच्च अंत की ओर प्रदर्शन करते हैं और विविध गति परिणाम देते हैं। बेंचमार्क गेम में पर्ल का प्रदर्शन व्याख्या की गई भाषाओं के लिए विशिष्ट है।

संकलित भाषाओं में समान कार्यक्रमों की तुलना में बड़े पर्ल प्रोग्राम अधिक धीरे-धीरे आरम्भ होते हैं क्योंकि पर्ल को सभी स्रोत को संकलित करना पड़ता है। वाईएपीसी::यूरोप 2005 सम्मेलन और उसके बाद के लेख ए टाइमली स्टार्ट में वार्ता में, जीन-लुइस लेरॉय ने पाया कि उनके पर्ल कार्यक्रमों को चलने में अपेक्षा से अधिक समय लगा क्योंकि पर्ल दुभाषिया ने अपने भीतर मॉड्यूल शोध में महत्वपूर्ण समय बिताया। ओवर-लार्ज में पथ सम्मिलित है। जावा, पायथन और रूबी के विपरीत, पर्ल के पास पूर्व-संकलन के लिए केवल प्रायोगिक समर्थन है। इसलिए, पर्ल प्रोग्राम सभी निष्पादन पर इस ओवरहेड पेनल्टी का भुगतान करते हैं। विशिष्ट कार्यक्रमों का वर्तमान चरण इतना लंबा है कि परिशोधित स्टार्टअप समय पर्याप्त नहीं है, लेकिन बहुत कम निष्पादन समय को मापने वाले बेंचमार्क इस ओवरहेड के कारण तिरछे होने की संभावना है।

इस स्थिति को सुधारने के लिए कई उपकरण प्रदर्शित किए गए हैं। पहला ऐसा उपकरण अपाचे का mod_perl था, जिसने सबसे सरल कारणों को संबोधित करने की डिमांड की थी कि छोटे पर्ल प्रोग्राम तीव्रता से लागू किए गए थे: कॉमन गेटवे इंटरफेस वर्ल्ड वाइड वेब डेवलपमेंट हैं। एक्टिवस्टेट, माइक्रोसॉफ्ट आईएसएपआई के माध्यम से, समान प्रदर्शन सुधार प्रदान करता है।

पर्ल कोड संकलित हो जाने के बाद, निष्पादन चरण के समय अतिरिक्त ओवरहेड होता है जो सामान्यतः सी या सी ++ जैसी संकलित भाषाओं में लिखे गए प्रोग्राम के लिए सम्मिलित नहीं होता है। ऐसे ओवरहेड के उदाहरणों में बाईट-कोड व्याख्या, संदर्भ-गिनती स्मृति प्रबंधन और डायनामिक्स टाइप-चेकिंग सम्मिलित हैं।

अनुकूलन
सबसे महत्वपूर्ण अन्य भाषाओं [जैसे C(प्रोग्रामिंग भाषा)] में लिखी जा सकती है, जिसे सरल इनलाइन मॉड्यूल या अधिक जटिल, लेकिन कोमल, एक्सएस (पर्ल) तंत्र के माध्यम से पर्ल से जोड़ा जा सकता है।

पर्ल 5
पर्ल 5, जिसे सामान्यतः पर्ल कहा जाता है, सक्रिय रूप से विकसित होना प्रस्तावित है। पर्ल 5.12.0 अप्रैल 2010 में पर्ल 6 के डिजाइन से प्रभावित कुछ नई विशेषताओं के साथ प्रस्तावित किया गया था, इसके बाद पर्ल 5.14.1 (17 जून, 2011 को प्रस्तावित), पर्ल 5.16.1 (9 अगस्त, 2012 को प्रस्तावित किया गया ), और पर्ल 5.18.0 (18 मई, 2013 को प्रस्तावित) किया गया था। पर्ल 5 विकास संस्करण मासिक आधार पर प्रस्तावित किए जाते हैं, प्रमुख प्रस्तावित प्रति वर्ष आते हैं।

अन्य प्रोग्रामिंग भाषाओं के लिए इसी प्रकार के शोधों की तुलना में, पर्ल प्रोग्रामिंग के लिए इंटरनेट शोधों का सापेक्षिक अनुपात 2005 में लगभग 10% से घटकर 2011 में लगभग 2% और 2020 में लगभग 0.7% हो गया।

राकू (पर्ल 6)
2000 के पर्ल सम्मेलन में, जॉन ऑरवेंट ने प्रमुख नई भाषा-पहल के लिए स्थिति बनायीं । इसके कारण पर्ल 6 के कहे जाने वाले भाषा के नए स्वरूप पर काम प्रारम्भ करने का निर्णय लिया गया। पर्ल समुदाय से बड़े पैमाने पर नई भाषा सुविधाओं के प्रस्ताव मांगे गए, जिन्होंने टिप्पणियों के लिए 300 से अधिक अनुरोध प्रस्तुत किए। वॉल ने अगले कुछ वर्ष आरएफसी और पर्ल 6 के लिए सुसंगत फ़्रेम में संश्लेषित किया। उन्होंने एपोकैलिप्स नामक दस्तावेजों की श्रृंखला में पर्ल 6 के लिए अपना डिजाइन दर्शाया – प्रोग्रामिंग पर्ल में अध्यायों के अनुरूप क्रमांकित करना।, पर्ल 6 के विकासशील विनिर्देश को सिनॉप्स नामक डिज़ाइन दस्तावेज़ों में समाहित किया गया था – एपोकैलिप्स के अनुरूप क्रमांकित करना।

ब्रैडली एम. कुह्न द्वारा थीसिस वर्क, वॉल द्वारा निरीक्षण, पर्ल के वर्त्तमान समय के रूप में जावा वर्चुअल मशीन के संभावित उपयोग पर विचार किया। कुह्न की थीसिस ने इस दृष्टिकोण को समस्याग्रस्त दिखाया। 2001 में, यह निर्णय लिया गया कि पर्ल 6 पैरेट आभासी मशीन नामक क्रॉस-लैंग्वेज वर्चुअल मशीन पर चलेगा। इसका अर्थ यह होगा कि पैरेट को लक्षित करने वाली अन्य भाषाओं को सीपीएएन तक मूल पहुंच प्राप्त होगी, जिससे क्रॉस-लैंग्वेज विकास के कुछ स्तर की अनुमति होगी।

2005 में, ऑड्रे टैंग ने पग्स (प्रोग्रामिंग) प्रोजेक्ट बनाया, हास्केल (प्रोग्रामिंग लैंग्वेज) में पर्ल 6 का कार्यान्वयन है। यह पर्ल 6 भाषा (वास्तविक कार्यान्वयन के विकास से भिन्न) के लिए परीक्षण मंच के रूप में कार्य करता है, और प्रस्तावित रखता है – भाषा डिजाइनरों को अन्वेषण करने की अनुमति देता है। पग्स परियोजना ने लाइबेरा चैट राकू आईआरसी चैनल के निकटतम केंद्रित सक्रिय पर्ल/हास्केल क्रॉस-लैंग्वेज समुदाय को उत्पन्न किया। पर्ल 6 डिज़ाइन टीम द्वारा कई कार्यात्मक प्रोग्रामिंग प्रभावों को अवशोषित किया गया।

2012 में, पर्ल 6 का विकास मुख्य रूप से दो कंपाइलरों पर केंद्रित था:
 * 1) रकूदो, पैरेट वर्चुअल मशीन और जावा वर्चुअल मशीन पर चलने वाला कार्यान्वयन।
 * 2) नैक्ज़ा, जो सामान्य भाषा वर्त्तमान समय को लक्षित करता है।

2013 में, मोअरवम ("मेटामॉडल ऑन ए वर्त्तमान समय"), मुख्य रूप से राकुडो के लिए डिज़ाइन की गई सी भाषा-आधारित वर्चुअल मशीन की घोषणा की गई थी।

अक्टूबर 2019 में, पर्ल 6 का नाम परिवर्तित करके राकू कर दिया गया।

केवल रकूदो कार्यान्वयन और मोअरवम सक्रिय विकास के अधीन हैं, और अन्य आभासी मशीनें, जैसे कि जावा वर्चुअल मशीन और जावास्क्रिप्ट, समर्थित हैं।

पर्ल 7
पर्ल 7 की घोषणा 24 जून 2020 को द पर्ल कॉन्फ्रेंस इन द क्लाउड में पर्ल 5 के उत्तराधिकारी के रूप में की गई थी। पर्ल 5.32 के आधार पर, पर्ल 7 को आधुनिक पर्ल 5 कोड के साथ बैकवर्ड कम्पैटिबिलिटी बनाने की योजना बनाई गई थी; पर्ल 5 कोड, बॉयलरप्लेट कोड (प्राग्मा) के बिना हेडर को जोड़ने की आवश्यकता है   संगत रहने के लिए, परन्तु आधुनिक कोड कुछ बॉयलरप्लेट को गिरा सकता है।

चूंकि, पर्ल 7 पर जाने की योजना ने अधिक चर्चा की, और पर्ल संचालन समिति ने स्क्रिप्ट के लिए बैकवर्ड संगतता वाले विषयों से बचने के लिए इसे निरस्त कर दिया, जो प्रागमा और मॉड्यूल के लिए नहीं लिखे गए थे जो कि पर्ल 7 में डिफ़ॉल्ट बन जाएंगे। पर्ल 7 केवल तभी सामने आते हैं जब डेवलपर्स प्रमुख प्रस्तावित अपग्रेड को वारंट करने के लिए पर्याप्त सुविधाएँ जोड़ते हैं।

पर्ल समुदाय
पर्ल की संस्कृति और समुदाय भाषा के साथ ही विकसित हुए हैं। यूज़नेट पहला सार्वजनिक स्थान था जिसमें पर्ल को प्रदर्शित किया गया था, लेकिन इसके विकास के समय, वर्ल्ड वाइड वेब के प्रारम्भ के साथ इंटरनेट-आधारित सेवाओं के विस्तार के विकास से पर्ल के समुदाय को आकार मिला। पर्ल को घेरने वाला समुदाय, वास्तव में, वॉल की पहली अनियन की स्थिति का विषय था।

अनियन की स्थिति
पर्ल और उसके समुदाय की प्रगति पर वॉल के वार्षिक मुख्य-शैली के सारांश का नाम अनियन की स्थिति है। वे पर्ल की संस्कृति, व्यापक हैकर संस्कृति, वॉल की भाषाई पृष्ठभूमि, कभी-कभी उनके पारिवारिक जीवन और कभी-कभी उनकी ईसाई पृष्ठभूमि के संदर्भों को नियोजित करते हुए उनके हॉलमार्क हास्य की विशेषता है।

प्रत्येक वार्ता पहले विभिन्न पर्ल सम्मेलनों में दी जाती है और अंततः इसे ऑनलाइन भी प्रकाशित किया जाता है।

जफस
ईमेल, यूज़नेट, और संदेश बोर्ड पोस्टिंग में, जस्ट अदर पर्ल हैकर (जफस) प्रोग्राम सरल है, जिसका प्रारम्भ रान्डल एल. श्वार्ट्ज ने किया था, जो प्रारंभिक व्यवसाय पर्ल प्रशिक्षकों में से थे। पर्ल कल्चर की भाषा में, पर्ल प्रोग्रामर्स को पर्ल हैकर्स के रूप में जाना जाता है, और इससे जस्ट अदर पर्ल हैकर वाक्यांश को प्रिंट करने के लिए लघु प्रोग्राम लिखने का अभ्यास प्राप्त होता है। मूल अवधारणा की भावना में, ये प्रोग्राम मध्यम रूप से अस्पष्ट हैं और ईमेल या यूज़नेट संदेश के हस्ताक्षर में फिट होने के लिए बहुत कम हैं। श्वार्ट्ज द्वारा विकसित "प्रामाणिक" जाफ में अंत में अल्पविराम सम्मिलित है, चूंकि इसे प्रायः छोड़ दिया जाता है।

पर्ल गोल्फ़
पर्ल गोल्फ पर्ल कार्यक्रम में उपयोग किए जाने वाले पात्रों (कुंजी स्ट्रोक) की संख्या को कम से कम करने का शगल है, ठीक उसी प्रकार जिस प्रकार से गोल्फ खिलाड़ी एक समय में जितना संभव हो उतना शॉट लेने का प्रयास करते हैं। वाक्यांश का पहला प्रयोग नवागंतुक को सिखाने के लिए पैदल यात्री कोड और अनुभवी पर्ल प्रोग्रामर को खुश करने के लिए संक्षिप्त हैक के बीच के अंतर पर जोर देता है, बाद वाले का उदाहरण जफस है जो पहले से ही यूज़नेट पोस्टिंग और अन्य स्थानों पर हस्ताक्षर में उपयोग किए गए थे। इसी प्रकार के स्टंट पिछले दशकों में भाषा एपीएल (प्रोग्रामिंग भाषा) में अनाम शगल थे। आरएसए (एल्गोरिदम) एन्क्रिप्शन करने वाले प्रोग्राम को लिखने के लिए पर्ल के उपयोग ने इस शगल में व्यापक और व्यावहारिक रुचि को प्रेरित किया। बाद के वर्षों में, शब्द कोड गोल्फ को अन्य भाषाओं में शगल के लिए लागू किया गया है। जुलाई 2000 में मोंटेरे, कैलिफोर्निया में पर्ल सम्मेलन 4.0 में पर्ल गोल्फ अपोकलीप्स आयोजित किया गया था।

कहानियां
सी के साथ, 1990 के दशक के अंत में अस्पष्ट कोड प्रतियोगिताएं प्रसिद्ध शगल थीं। अस्पष्ट पर्ल प्रतियोगिता 1996 से 2000 तक द पर्ल जर्नल द्वारा आयोजित प्रतियोगिता थी जिसने पर्ल के प्रारूप कोमलता का प्रमुख गुण बनाया। सबसे शक्तिशाली जैसी श्रेणियों के लिए पुरस्कार दिए गए थे - ऐसे कार्यक्रम जो अंतरिक्ष का कुशल उपयोग करते हैं - और "सर्वश्रेष्ठ चार-पंक्ति हस्ताक्षर" उन कार्यक्रमों के लिए जो यूज़नेट हस्ताक्षर ब्लॉक की शैली में 76 वर्णों की चार पंक्तियों में फिट होते हैं।

कविता
पर्ल कविता, कविता लिखने का अभ्यास है जिसे कानूनी पर्ल कोड के रूप में संकलित किया जा सकता है, उदाहरण के लिए ब्लैक पर्ल के रूप में जाना जाने वाला टुकड़ा है। पर्ल भाषा में उपयोग किए जाने वाले अंग्रेजी शब्दों की बड़ी संख्या से पर्ल कविता संभव हो गई है। पर्लमॉन्क्स पर समुदाय के लिए नई कविताएँ नियमित रूप से दर्शायी जाती हैं।

आईआरसी पर पर्ल
कई इंटरनेट रिले चैट चैनल पर्ल और इसके कुछ मॉड्यूल के लिए समर्थन प्रदान करते हैं।

सीपैन एक्मे
सीपैन पर विशुद्ध रूप से मनोरंजन के लिए लिखे गए कोड के कई उदाहरण भी हैं।, उदाहरण के लिए, लैटिन में प्रोग्राम लिखने की अनुमति देता है। इस प्रकार के प्रोग्राम के निष्पादन पर, मॉड्यूल अपने स्रोत कोड को नियमित पर्ल में अनुवादित करता है और इसे चलाता है।

पर्ल समुदाय ने एक्मे कारपोरेशन नामस्थान को ऐसे मॉड्यूल के लिए भिन्न रखा है जो प्रकृति में रोचक हैं (लेकिन इसकी सीमा शोधपूर्ण या प्रायोगिक कोड या किसी अन्य मॉड्यूल को सम्मिलित करने के लिए चौड़ा हो गया है जो कभी भी उत्पादन में उपयोग करने के लिए नहीं है)। एक्मे के कुछ मॉड्यूल जानबूझकर रोचक उपाय से लागू किए गए हैं। इसमें , यह भी सम्मिलित है जो   नामस्थान, के पहले मॉड्यूल में से हैI जो कार्यक्रम के स्रोत कोड को व्हाइटेड करने की अनुमति देता है (अर्थात, सभी वर्णों को व्हाइटस्पेस से परिवर्तित कर दिया जाता है) और यह फिर भी काम करता है।

उदाहरण कोड
पर्ल के पुराने संस्करणों में, कोई व्यक्ति hello world प्रोग्राम को इस प्रकार लिखेगा:

यहां एक अधिक जटिल पर्ल प्रोग्राम है, जो किसी दिए गए शुरुआती मान से सेकंड की गणना करता है:

पर्ल दुभाषिया का उपयोग कमांड लाइन पर वन टाइम स्क्रिप्ट के लिए भी किया जा सकता है। निम्न उदाहरण (जैसा कि SH -कम्पेटिबल शेल से लिया गया है, जैसे बैश) वर्तमान निर्देशिका में "Robert" में .txt के साथ समाप्त होने वाली सभी फाइलों में स्ट्रिंग "Bob" का अनुवाद करता है:

आलोचना
पर्ल को इसके आलोचकों द्वारा विक्ट: लाइन नॉइज़ और केवल-लिखने वाली भाषा के रूप में संदर्भित किया गया है। इस प्रकार का सबसे पहला उल्लेख रैंडल एल. श्वार्ट्ज द्वारा लिखित पर्ल 4 ट्यूटोरियल पुस्तक लर्निंग पर्ल के पहले संस्करण में था। जिसके पहले अध्याय में वह कहता है: हां, कभी-कभी पर्ल बिन बुलाए लाइन नॉइज़ जैसा दिखता है, लेकिन अनुभवी पर्ल प्रोग्रामर के लिए, यह जीवन में मिशन के साथ अंततः,लाइन नॉइज़ जैसा दिखता है। उन्होंने यह भी कहा कि उचित सावधानी के साथ कोडिंग करके पर्ल केवल लिखने वाली भाषा होने के दोषारोपण से बचा जा सकता है। पर्ल अवलोकन दस्तावेज़ पर्लिन्ट्रो बताता है कि अंतर्निहित मैजिक स्केलर चर के नाम विराम चिह्न या लाइन नॉइज़ के जैसे दिखते हैं। चूंकि, अंग्रेजी मॉड्यूल लंबे और छोटे विकल्प दोनों प्रदान करता है। पर्लस्टाइल दस्तावेज़ में कहा गया है कि व्हाइटस्पेस जोड़ने के लिए  संशोधक का उपयोग करके नियमित अभिव्यक्तियों में लाइन नॉइज़ को कम किया जा सकता है।

पर्ल 6 एफएक्यू के अनुसार, पर्ल 6 को उन सामान्य संदिग्धों को कम करने के लिए डिज़ाइन किया गया था जो पर्ल 5 आलोचकों से लाइन नॉइज़ का अनुरोध करते हैं, जिसमें अधिकांश विराम चिह्नों को हटाना और रेगेक्स प्रारूप का स्वच्छताकरण सम्मिलित है। पर्ल 6 एफएक्यू में यह भी कहा गया है कि जिसे कभी-कभी पर्ल के लाइन नॉइज़ के रूप में संदर्भित किया जाता है, वह भाषा का वास्तविक प्रारूप है जैसे कि क्रियावाचक संज्ञा और पूर्वसर्ग अंग्रेजी भाषा का भाग हैं। दिसंबर 2012 की ब्लॉग पोस्टिंग में, यह अनुरोध करने के अतिरिक्त कि राकुडो पर्ल 6 विफल हो गया है और तब तक विफल रहेगा जब तक कि इसे कुछ वयस्क पर्यवेक्षण नहीं मिल जाता, तब तक असफल रहेगा", क्रोमैटिक ने कहा कि पर्ल 6 के डिजाइन में अच्छे प्रकार से परिभाषित व्याकरण के साथ-साथ अच्छे प्रकार भी है। प्रणाली, बुद्धिमान मेटामॉडल, मेटाऑपरेटर्स के साथ एकीकृत वस्तु प्रणाली, और संदर्भ की स्पष्ट प्रणाली जो व्यापक आलस्य जैसी बारीकियों के लिए प्रदान करती है। उन्होंने यह भी कहा कि पर्ल 6 में सुसंगतता और निरंतरता है जो पर्ल 5 में नहीं है।

यह भी देखें

 * पर्ल की रूपरेखा
 * पर्ल डेटा भाषा
 * पर्ल ऑब्जेक्ट पर्यावरण
 * सादा पुराना दस्तावेज़ीकरण

अग्रिम पठन

 * 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 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.
 * Functional programming techniques in Perl.