पर्ल कैसे काम करता है

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

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

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

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

अंतर्वस्तु
  1. शुरू करना
  2. नमस्ते दुनिया
  3. चर
  4. लूप्स और ifs
  5. कार्यों
  6. अध्ययन

शुरू करना

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

इसके बाद, सुनिश्चित करें कि आप पर्ल के साथ आने वाली DOCS निर्देशिका में देखते हैं - वहां उपयोगकर्ता-मैनुअल-प्रकार की सामग्री होगी। किसी बिंदु पर, सभी दस्तावेज़ों को पढ़ने , या कम से कम इसे स्कैन करने में कोई दिक्कत नहीं होगी। शुरू में यह बोझिल होगा, लेकिन इस लेख को पढ़ने के बाद यह और भी अधिक समझ में आएगा।

नमस्ते दुनिया

एक बार जब आप पर्ल लोड हो जाते हैं, तो सुनिश्चित करें कि आपने पर्ल निष्पादन योग्य को शामिल करने के लिए अपना पथ ठीक से सेट किया है। फिर, एक टेक्स्ट एडिटर खोलें और एक टेक्स्ट फाइल बनाएं। फ़ाइल में, निम्न पंक्ति रखें:

प्रिंट "हैलो वर्ल्ड!\n";

फ़ाइल को "test1.pl" नाम दें। कमांड प्रॉम्प्ट पर, टाइप करें:

पर्ल टेस्ट1.pl

पर्ल टेक्स्ट फ़ाइल में कोड चलाएगा और निष्पादित करेगा। आपको "हैलो वर्ल्ड!" शब्द देखना चाहिए। स्टडआउट (मानक आउट) पर मुद्रित। जैसा कि आप देख सकते हैं, पर्ल में प्रोग्राम बनाना और चलाना बेहद आसान है। (यदि आप UNIX का उपयोग कर रहे हैं , तो आप पहली पंक्ति पर #! /usr/bin/perl जैसी टिप्पणी डाल सकते हैं , और फिर आपको कमांड लाइन पर "perl" शब्द टाइप नहीं करना पड़ेगा।)

प्रिंट कमांड stdout के लिए चीजों को प्रिंट करता है। \ N अंकन एक लाइन फ़ीड है। यह और अधिक स्पष्ट होगा यदि आप इस तरह दिखने के लिए परीक्षण कार्यक्रम को संशोधित करते हैं ( # एक टिप्पणी को दर्शाता है):

# दो पंक्तियों में प्रिंट करें
   प्रिंट "नमस्ते\nविश्व!\n";

ध्यान दें कि प्रिंट कमांड ने समझा कि उसे "\n" को एक लाइन फीड के रूप में व्याख्या करना चाहिए, न कि शाब्दिक वर्णों के रूप में। व्याख्या प्रिंट आदेश की वजह से नहीं हुई, लेकिन दोहरे उद्धरण चिह्नों के प्रयोग की वजह (एक अभ्यास कहा जाता है के हवाले से पर्ल में)। यदि आप इसके बजाय सिंगल कोट्स का उपयोग करना चाहते हैं, जैसे:

प्रिंट 'हैलो\nवर्ल्ड!\n';

\n वर्ण की व्याख्या नहीं की जाएगी, बल्कि इसका शाब्दिक उपयोग किया जाएगा।

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

प्रिंट `cmd/c dir`;

डीआईआर कमांड चलाने के लिए और वर्तमान निर्देशिका से फाइलों की एक सूची देखने के लिए।

आप नियमित अभिव्यक्तियों को उद्धृत करने के लिए प्रयुक्त / वर्ण भी देखेंगे ।

प्रिंट कमांड अल्पविराम को विभाजक के रूप में समझता है । उदाहरण के लिए:

प्रिंट 'हैलो', "\ n", 'वर्ल्ड!';

हालाँकि, आप एक अवधि भी देखेंगे :

'हैलो' प्रिंट करें। "\एन"। 'दुनिया!';

अवधि वास्तव में एक स्ट्रिंग संयोजन ऑपरेटर है।

सी लोगों के लिए एक प्रिंटफ ऑपरेटर भी है ।

पर्ल नोट

में विंडोज एनटी , तो आप यह नहीं कह सकते:

प्रिंट `दिर`;

क्योंकि डीआईआर एक अलग निष्पादन योग्य नहीं है - यह कमांड दुभाषिया cmd का हिस्सा है। सीएमडी टाइप करें /? विवरण के लिए डॉस प्रॉम्प्ट पर।

चर

पर्ल में चर दिलचस्प हैं। आप उन्हें घोषित नहीं करते हैं, और आप हमेशा उन्हें दर्शाने के लिए $ का उपयोग करते हैं। वे पहले उपयोग में अस्तित्व में आते हैं। उदाहरण के लिए:

   $s = "नमस्ते\nविश्व\n";
   $t = 'नमस्ते\nविश्व\n';
   प्रिंट $s, "\n", $t;

या:

   $ मैं = 5;
   $ जे = $ मैं + 5;
   प्रिंट $i, "\t", $i + 1, "\t", $j; # \t = टैब

या:

   $ ए = "हैलो";
   $ बी = "विश्व \ n";
   $ सी = $ ए। $बी; #नोट का उपयोग। तार जोड़ने के लिए
   $ सी प्रिंट करें;

चूंकि स्ट्रिंग संयोजन है, .= का अपेक्षित अर्थ उसी तरह है जैसे "+=" सी में करता है। इसलिए, आप कह सकते हैं:

   $ ए = "हैलो";
   $ बी = "विश्व \ n";
   $ ए। = $ बी;
   $ ए प्रिंट करें;

आप सरणियाँ भी बना सकते हैं :

   @a = ('बिल्ली', 'कुत्ता', 'ईल');
   प्रिंट @ ए, "\ n";
   प्रिंट $#a, "\n"; # उच्चतम सूचकांक का मूल्य, शून्य आधारित
   प्रिंट $a[0], "\n";
   $a[0], $a[1], $a[2], "\n" प्रिंट करें;

$ # अंकन सरणी में उच्चतम सूचकांक, सरणी शून्य से 1. में तत्वों जैसा कि C की संख्या के बराबर हो जाता है, सभी सरणियों शून्य पर अनुक्रमण शुरू करते हैं।

आप हैश भी बना सकते हैं :

   %h = ('कुत्ता', 'छाल', 'बिल्ली', 'म्याऊ', 'ईल', 'ज़ैप');
   प्रिंट करें "कुत्ता कहता है", $h{'dog'};

यहाँ, 'छाल' शब्द 'कुत्ता', 'म्याऊ' शब्द 'बिल्ली' से जुड़ा है, और इसी तरह। एक ही घोषणा के लिए एक अधिक अभिव्यंजक वाक्य रचना है:

   % एच = (
      कुत्ता => 'छाल',
      बिल्ली => 'म्याऊ',
      ईल => 'जप'
   );

=> ऑपरेटर बाईं स्ट्रिंग उद्धरण और एक अल्पविराम के रूप में कार्य करता है।

लूप्स और ifs

आप लूप के लिए एक सरल बना सकते हैं जैसे आप C में करते हैं:

   के लिए ($i = 0; $i <10; $i++)
   {
      प्रिंट $i, "\ n";
   }

जबकि कथन आसान हैं:

   $ मैं = 0;
   जबकि ($i <10)
   {
      प्रिंट $i, "\ n";
      $i++;
   }

यदि कथन समान रूप से आसान हैं:

   के लिए ($i = 0; $i <10; $i++)
   {
      अगर ($मैं!= 5)
      {
         प्रिंट $i, "\ n";
      }
   }

बूलियन ऑपरेटरों काम की तरह वे सी में कार्य करें:

  • && और
  • || या
  • ! नहीं

संख्याओं के लिए:

  • == बराबर
  • != बराबर नहीं
  • < , <= , > , >= (उम्मीद के मुताबिक)

अन्य:

  • eq के
  • नी
  • लेफ्टिनेंट
  • ले
  • जीटी
  • जीई

यदि आपके पास एक सरणी है, तो आप इसके माध्यम से foreach के साथ आसानी से लूप कर सकते हैं :

   @a = ('कुत्ता', 'बिल्ली', 'ईल');
   foreach $b (@a)
   {
      प्रिंट $ बी, "\ n";
   }

Foreach सरणी के प्रत्येक तत्व को लेता है @a और इसे $b में तब तक रखता है जब तक @a समाप्त नहीं हो जाता।

पर्ल नोट

आपको "आरंभ" और "अंत" ब्रेसिज़ का उपयोग करना चाहिए -- { और } -- यहां तक ​​कि एक पंक्ति के लिए भी।

कार्यों

आप उप शब्द के साथ एक सबरूटीन बनाते हैं । सबरूटीन में पास किए गए सभी चर _ नामक सरणी में आते हैं । इसलिए, निम्न कोड काम करता है:

   शो ('बिल्ली', 'कुत्ता', 'ईल');

   उप शो
   {
      के लिए ($i = 0; $i <= $#_; $i++)
      {
         प्रिंट $_[$i], "\n";
      }
   }

याद रखें कि $# सरणी में उच्चतम अनुक्रमणिका देता है (तत्वों की संख्या माइनस 1), इसलिए $#_ मापदंडों की संख्या माइनस 1 है। यदि आप उस प्रकार की अस्पष्टता को पसंद करते हैं, तो आप PERL को पसंद करेंगे।

आप घोषणा कर सकते हैं एक सबरूटीन में स्थानीय चर शब्द के साथ स्थानीय , के रूप में:

   उप xxx
   {
      स्थानीय ($ ए, $ बी, $ सी)
      ...
   }

आप एक फ़ंक्शन को & का उपयोग करके भी कॉल कर सकते हैं , जैसे:

&शो ('ए', 'बी', 'सी');

अस्पष्टता होने पर ही & प्रतीक की आवश्यकता होती है, लेकिन कुछ प्रोग्रामर हर समय इसका उपयोग करते हैं।

एक सबरूटीन से एक मान वापस करने के लिए, कीवर्ड वापसी का उपयोग करें ।

अध्ययन

एसटीडीआईएन से पढ़ना

stdin (मानक में) से डेटा पढ़ने के लिए, STDIN हैंडल का उपयोग करें । उदाहरण के लिए:

   प्रिंट "उच्च संख्या दर्ज करें:";
   $मैं = 
         
          ;
   के लिए ($j = 0; $j <= $i; $j++)
   {
      प्रिंट $ जे, "\ n";
   }
         

जब तक आप एक पूर्णांक संख्या दर्ज करते हैं , यह प्रोग्राम अपेक्षा के अनुरूप काम करेगा। एक बार में एक लाइन पढ़ता है। आप एक वर्ण को पढ़ने के लिए getc का भी उपयोग कर सकते हैं , जैसे:

$ मैं = गेटक (एसटीडीआईएन);

या पढ़ने का उपयोग करें:

पढ़ें (एसटीडीआईएन, $ आई, 1);

रीड कमांड के तीसरे पैरामीटर में 1 पढ़ने के लिए इनपुट की लंबाई है।

पर्यावरण चर पढ़ना

PERL ENV नामक एक वैश्विक हैश को परिभाषित करता है , और आप इसका उपयोग पर्यावरण चर के मूल्यों को पुनः प्राप्त करने के लिए कर सकते हैं । उदाहरण के लिए:

प्रिंट $ENV{'PATH'};

कमांड लाइन तर्क पढ़ना

PERL एक वैश्विक सरणी ARGV को परिभाषित करता है , जिसमें स्क्रिप्ट को पास किया गया कोई भी कमांड लाइन तर्क होता है। $#ARGV पास किए गए तर्कों की संख्या माइनस 1 है, $ARGV[0] पास किया गया पहला तर्क है, $ARGV[1] दूसरा है, इत्यादि।

अब आप सरल पर्ल स्क्रिप्ट पढ़ने और लिखने में सक्षम होना चाहिए। अधिक जानने के लिए आपको पूर्ण दस्तावेज़ीकरण में भी सक्षम होना चाहिए । अतिरिक्त जानकारी के लिए, अगले पृष्ठ पर लिंक देखें।

पर्ल नोट

पर्यावरण चर का नाम अपर केस होना चाहिए

बहुत अधिक जानकारी

संबंधित आलेख

  • जावा कैसे काम करता है
  • सी प्रोग्रामिंग मूल बातें
  • CGI स्क्रिप्टिंग कैसे काम करती है
  • बूलियन लॉजिक कैसे काम करता है
  • ऑपरेटिंग सिस्टम कैसे काम करते हैं

अधिक बढ़िया लिंक

  • PERL - प्रैक्टिकल एक्सट्रैक्शन और रिपोर्ट लैंग्वेज
  • perl.com
  • व्यापक पर्ल संग्रह नेटवर्क
  • सीजीआई संसाधन सूचकांक: कार्यक्रम और स्क्रिप्ट: पर्ल
  • पर्ल ट्यूटोरियल
  • याहू निर्देशिका: पर्ल
  • पर्ल मोंगर्स