मैं इसे बहुत सुविधाजनक विन्यास और अन्य डेटा या पढ़ा जाता है एक बार गणना की लेकिन फिर पर्ल के use
तंत्र का उपयोग करके एक कार्यक्रम के दौरान कई बार इस्तेमाल किया पारित करने के लिए की खोज कर रहा हूँ। मैं कॉलर के नामस्थान में हैश निर्यात करके ऐसा कर रहा हूं।क्या पर्ल में चर निर्यात करने के लिए यह अच्छा अभ्यास है?
package Myconfiguration;
my %config;
sub import {
my $callpkg = caller(0);
my $expsym = $_[1];
configure() unless %config;
*{"$callpkg\::$expsym"} = \%config;
}
और फिर दूसरे मॉड्यूल में: उदाहरण के लिए:
use MyConfiguration (loc_config_sym);
if ($loc_config_sym{paramater}) {
# ... do stuff ...
}
हालांकि, मैं एक सबसे अच्छा अभ्यास के रूप में इस बारे में यकीन नहीं है। क्या यह एक तरीका जोड़ना बेहतर है जो डेटा के साथ हैश रेफ देता है? कुछ और?
यही वह है जो मेरे सिर के अंदर बंदर मुझे बताने की कोशिश कर रहा था लेकिन मैं बाहर नहीं निकल पाया (हालांकि मैं 'निर्यातक qw (आयात) का उपयोग करना पसंद करता हूं;' :))। जब मैं अभ्यास में बिल्कुल वैसा ही कर रहा हूं, तो मैं वास्तव में वैश्विक वैरिएबल के रूप में नहीं सोचता था। यहां एकमात्र नकारात्मक तरीका विधि कॉल ओवरहेड है, लेकिन यह महत्वपूर्ण नहीं है, विशेष रूप से रखरखाव और डिबगिंग पर विचार करना। इसके अलावा, यदि यह स्थानीय रूप से प्रासंगिक नाम रखने के लिए सुविधाजनक है तो यह सब कुछ आसान है (यह केवल कॉन्फ़िगरेशन के बारे में नहीं है)। – gvkv
मैं मानता हूं कि सेटर्स और गेटर्स जाने का रास्ता हैं। वे आपको अधिक नियंत्रण देते हैं। उदाहरण के लिए, आप मूल्य सेट पर जांच कर सकते हैं और मूल्य प्राप्त पर गणना कर सकते हैं। – Bill