मैं एक शामिल मॉड्यूल का पूरा फ़ाइल नाम प्राप्त करना चाहता हूं।क्या% INC प्लेटफ़ॉर्म-निर्भर की कुंजी और मान हैं या नहीं?
package MyTest;
my $path = join '/', split /::/, __PACKAGE__;
$path .= ".pm";
print "$INC{$path}\n";
1;
$ perl -Ipath/to/module -MMyTest -e0
path/to/module/MyTest.pm
यह सभी प्लेटफार्मों पर काम करेगा: इस कोड पर विचार करें?
perlvar
हैश
%INC
प्रत्येक फ़ाइल नामdo
,require
, याuse
ऑपरेटरों के माध्यम से शामिल के लिए प्रविष्टियां नहीं हैं। कुंजी आपके द्वारा निर्दिष्ट फ़ाइल नाम है ( मॉड्यूल नाम पथनामों में कनवर्ट किया गया है), और मान फ़ाइल का स्थान है।
क्या ये चाबियाँ प्लेटफ़ॉर्म-निर्भर हैं या नहीं? क्या मुझे File::Spec
या क्या उपयोग करना चाहिए? Win32 पर कम से कम ActivePerl \
के बजाय /
का उपयोग करता है।
अद्यतन:%INC
मूल्यों के बारे में क्या? क्या वे मंच-निर्भर हैं?
आप पथ के साथ क्या करना चाहते हैं? कृपया अधिक संदर्भ प्रदान करें! –
कहें, मैं वहां से अधिक मॉड्यूल शामिल करना चाहता हूं। – codeholic