बहुत ही कोर पर, आपके द्वारा उपयोग किए जाने वाले फ़ाइल एक्सटेंशन से कोई फर्क नहीं पड़ता कि perl
उन फ़ाइलों का व्याख्या कैसे करता है।
हालांकि, पैकेज नाम के बाद एक निश्चित निर्देशिका संरचना के बाद .pm
फ़ाइलों में मॉड्यूल डालने से सुविधा मिलती है। इसलिए, यदि आपके पास Example::Plot::FourD
मॉड्यूल है और आप इसे @INC
में किसी पथ में Example/Plot/FourD.pm
निर्देशिका में डालते हैं, तो use
और require
पैकेज नाम को use Example::Plot::FourD
में दिए जाने पर सही काम करेगा।
फ़ाइल पिछले बयान किसी भी प्रवर्तन कोड के सफल निष्पादन इंगित करने के लिए के रूप में सच लौटना चाहिए, तो यह 1;
साथ इस तरह के एक फ़ाइल को समाप्त करने के प्रथागत है जब तक आप यकीन है कि यह अन्यथा सच वापस आ जाएंगे, कर रहे हैं। लेकिन यदि आप अधिक कथन जोड़ते हैं तो 1;
डालना बेहतर है।
तो EXPR
एक bareword है, require
"/" आप के लिए फ़ाइल नाम में, यह आसान मानक मॉड्यूल लोड करने के लिए बनाने के लिए के साथ एक ".pm" विस्तार हो जाती है और की जगह "::"। मॉड्यूल लोड करने का यह रूप आपके नेमस्पेस को बदलने का जोखिम नहीं उठाता है।
सभी use
करता है एक BEGIN
ब्लॉक में पैकेज का नाम से फ़ाइल नाम प्रदान की है, require
यह पता लगा और पैकेज पर import
आह्वान करने के लिए है। use
का उपयोग न करने से आपको कुछ भी मैन्युअल रूप से नहीं ले रहा है।
उदाहरण के लिए, नीचे Example::Plot::FourD
पैकेज को t.pl
नामक फ़ाइल में डाल दिया गया है, इसे s.pl
फ़ाइल में एक स्क्रिप्ट में लोड किया गया है।
C:\Temp> cat t.pl
package Example::Plot::FourD;
use strict; use warnings;
sub new { bless {} => shift }
sub something { print "something\n" }
"Example::Plot::FourD"
C:\Temp> cat s.pl
#!/usr/bin/perl
use strict; use warnings;
BEGIN {
require 't.pl';
}
my $p = Example::Plot::FourD->new;
$p->something;
C:\Temp> s
something
यह उदाहरण दिखाता है मॉड्यूल फ़ाइलें, किसी भी वास्तविक मूल्य क्या करेंगे 1
में समाप्त करने के लिए की जरूरत नहीं है कि।
स्रोत
2010-08-04 12:41:09
'1' कोई फर्क नहीं पड़ता। यह '2' हो सकता है, यह' foo "हो सकता है, यह' ["a", "list"] 'हो सकता है। क्या मायने रखता है कि यह '0' नहीं है, या कुछ भी जो गलत के रूप में मूल्यांकन करता है, या 'उपयोग' विफल हो जाएगा। – Amadan
.pl वास्तव में एक पर्ल लाइब्रेरी है - सीएल प्रोग्राम या अन्य भाषाओं में लिखे गए कार्यक्रमों जैसे पर्ल स्क्रिप्ट्स, ऑपरेटिंग सिस्टम को छोड़कर समाप्त नहीं होते हैं, जिन्हें विंडोज़ जैसे फंक्शिपोन की आवश्यकता होती है। –