पर्ल का दर्शन यह कहता है कि "अभी वही करो जो व्यावहारिक है।" यदि आपको OOP का उपयोग करने की आवश्यकता है, तो वहां। यह सभी समाधानों में आवश्यक नहीं है और किसी व्यक्ति को ओओपी कोड लिखने के लिए मजबूर किया जाता है जब यह एक सरल "ऐसा करता है तो यह" प्रकार की समस्या अक्सर काउंटर उत्पादक होती है।
पर्ल के बहु-प्रतिमान प्रकृति को श्वार्ट्जियन परिवर्तन जैसी चीजों में देखा जा सकता है, जिनके लिए इसके बहुत ही कार्यात्मक पहलू हैं (लिस्प में इसे "डेकोरेट-सॉर्स-अंडरकोरेट" के रूप में जाना जाता है)। OOP मौजूद है, जैसा कि प्रक्रियात्मक है (C प्रोग्रामिंग की तरह) और अनिवार्य ("ऐसा करें तो यह") जैसे बैश।
डिज़ाइन पैटर्न सामान्य समस्याओं के समाधान का समाधान कर रहे हैं। वे हर भाषा में मौजूद हैं। कभी-कभी इन पैटर्नों को मुहावरे कहा जाता है, हालांकि यह उन चीजों को भी संदर्भित कर सकता है जो एक पैटर्न की तुलना में बहुत अधिक सरल हैं।
जब आवश्यक हो, क्लासिक GOF डिज़ाइन पैटर्न के कई पर्ल में लागू किया जा सकता है। पर्ल डिज़ाइन पैटर्न में कई सामान्य नाम होंगे जो लोग GOF से परिचित हैं। यह आवश्यक नहीं है कि यह सभी मुहावरेदार हो।
पर्ल में डिजाइन पैटर्न की खोज करते समय, मार्क डोमिनस द्वारा नहीं "डिजाइन पैटर्न" पर भी ध्यान दें ।
कई लोग मानते हैं कि डिज़ाइन पैटर्न भाषा की कमियां हैं । उस परिप्रेक्ष्य में, Iterator जैसे डिज़ाइन पैटर्न अक्सर पर्ल में अनावश्यक होते हैं। हमेशा नहीं - लेकिन अक्सर।
सबसे पहले, मुहावरेदार पर्ल लिखें। Perl में C, या perl में लिस्प, या जावा में java लिखने की कोशिश न करें। पर्ल प्रति है। यदि कोई समस्या है जो मुहावरे से बड़ा हो जाता है तो पर्ल को संभाल सकता है और आपको अधिक जटिल वर्ग संरचनाओं की आवश्यकता होती है, तो उन्हें लिखें। पता है कि "यह समस्या अब एक सार कारखाने की जरूरत के बिंदु पर" पहचानने में सक्षम होने के लिए डिज़ाइन पैटर्न को जानती है - लेकिन अगर आपको एक की आवश्यकता नहीं है, तो पर्ल में एक सार कारखाना बनाने की कोशिश शुरू न करें।
कुछ पुस्तकालय OOP और अधिक पारंपरिक रूपों दोनों में मौजूद हैं। देखें चाहिए मैं समारोह उन्मुख या वस्तु उन्मुख सीजीआई इंटरफेस का उपयोग करें? एक पुराने SO प्रश्न के लिए, जहां कोई पूछता है कि लाइब्रेरी का उपयोग करने का कौन सा तरीका है।