पर्ल में, हम कर सकते हैं:उपयोग lib
उपयोग lib सूची;
@INC में पथों की एक सूची शामिल करने के लिए। इसी तरह, हम कर सकते हैं:
यदि कंडीशन, मॉड्यूल => तर्क;
एक मॉड्यूल को सशर्त रूप से शामिल करने के लिए।
, कुछ की तरह
उपयोग lib अगर शर्त, सूची दोनों का मिश्रण करने के लिए क्या यह संभव है;
सशर्त रूप से पथों की सूची शामिल करने के लिए। यह काम नहीं लग रहा है।
संपादित करें: क्षमा करें, लेकिन मैं अभी भी इसे काम नहीं कर सकता। इस तरह मैं कर रहा हूं लेकिन यह काम नहीं कर रहा है। क्या आप सुझाव दे सकते हैं कि क्या गलत है?
use Data::Dumper;
BEGIN {
my $env=$ENV{'ENV'};
use if $env eq 'OLD', lib => '/home/vivek/OLD';
use if $env eq 'NEW', lib => '/home/vivek/NEW';
}
print Dumper \@INC;
आपकी स्थिति संकलन समय पर हल करने योग्य है। – tchrist
मुझे लगता है कि यह एक चर के लिए $ ENV {'ENV'} असाइन करने के बजाय और फिर इसका उपयोग करने के बजाय, यह काम करता है, इसके बजाय मैं सीधे $ ENV {'ENV'} का उपयोग करता हूं। लेकिन BEGIN ब्लॉक में $ env की गणना नहीं की जा सकती है। – Vivek
आपका उदाहरण काम नहीं करेगा। असाइनमेंट 'मेरा $ env = ...' 'if if' के बाद चलाएगा। 'अगर उपयोग करें' पहले जाता है। आपको एक पूर्ण रूप से संलग्न 'BEGIN' ब्लॉक होना चाहिए जो एक गैर-चर के लिए असाइन किया गया हो, और उसके बाद उस ब्लॉक के बाहर और नीचे, आपके' उपयोग 'अगर आपके पास चर कहा गया हो। – tchrist