सामान्य रूप से, जब आप एकाधिक फाइलों के साथ काम कर रहे होते हैं, और उनके बीच चर या सबराउटिन आयात करते हैं, तो आप पाएंगे कि आपकी परियोजना बढ़ने के साथ फाइलों को थोड़ा जटिल होने की आवश्यकता होती है। यह सब कुछ एक सामान्य नेमस्पेस साझा करने के कारण है, लेकिन कुछ फ़ाइलों में घोषित कुछ चर के साथ लेकिन दूसरों को नहीं।
पर्ल में हल किया जाने वाला सामान्य तरीका मॉड्यूल बनाना है, और फिर उन मॉड्यूल से आयात करना है। इस मामले में:
#!/usr/bin/perl
package My::Module; # saved as My/Module.pm
use strict;
use warnings;
use Exporter;
our @ISA = 'Exporter';
our @EXPORT = qw(@a @b);
our (@a, @b);
@a = 1..3;
@b = "a".."c";
और फिर मॉड्यूल का उपयोग करने के लिए:
#!/usr/bin/perl
use strict;
use warnings;
use My::Module; # imports/declares the two variables
print @a;
print @b;
use
कि लाइन वास्तव में मतलब है:
BEGIN {
require "My/Module.pm";
My::Module->import();
}
import
विधि Exporter
से आता है। जब इसे कॉल किया जाता है, तो यह कॉलिंग कोड में @EXPORT
सरणी में चर निर्यात करेगा।
Exporter और perlmod के लिए प्रलेखन को देखते हुए आपको एक प्रारंभिक बिंदु देना चाहिए।
स्रोत
2010-12-28 17:58:04
धन्यवाद .... मैं दूसरे चर में समान वैरिएबल घोषित करने के लिए चूक गया। प्रारंभ में, जब इसे घोषित नहीं किया गया था, तो यह कहता है, वैरिएबल "@ ए" आयात नहीं किया जाता है ..... यह अब काम कर रहा है ... – Cthar