ये अच्छा नियम हैं, अगर आप उन्हें तोड़ने के लिए एक अच्छा कारण है, ऐसा करने के लिए संकोच नहीं करते: जहां संभव heterogenous प्रणालियों के बीच पोर्टेबिलिटी के लिए
उपयोग #!/usr/bin/env perl
। लेकिन यह ऐसा करने का एक मूर्ख तरीका है क्योंकि यह धारणा बनाता है कि पथ में पहला पर्ल भी पर्ल है जिसे आप हमेशा चाहते हैं। ऐसा नहीं हो सकता है, और आमतौर पर जब सिस्टम पर कई पर्ल होते हैं तो वे एक निश्चित कारण के लिए होते हैं।
एक बेहतर तरीका एक सीपीएएन-तैयार डिस्ट्रो में स्क्रिप्ट को पैकेज करना है। उन प्रणालियों में distros वितरित करें जहां आप उन्हें स्थापित करना चाहते हैं और उन्हें सामान्य तरीके से (मैन्युअल रूप से या सीपीएएन टूलचेन के साथ) स्थापित करें, पूर्ण पथ से perl
या cpan
निर्दिष्ट करें। उस प्रक्रिया के दौरान, the shebang line is rewritten पर्ल के सही रास्ते पर।
उदाहरण:
tar -xvf Local-OurCompany-Scripts-1.000.tar.gz
cd Local-OurCompany-Scripts-1.000
## automated installation
/usr/bin/cpan .
# or perhaps
/opt/ourcompany/perls/perl-5.14.2/bin/cpan .
## manual installation
/usr/bin/perl Makefile.PL ; make ; make install
# or perhaps
`which perl5.14.2` Makefile.PL ; make ; make install
यह सवाल वास्तव में विशिष्ट पटकथा भाषाओं से कोई लेना देना नहीं है, लेकिन मैं इसे पर्ल में चिह्नित क्योंकि उस शीर्षक में इस्तेमाल किया उदाहरण है छोड़ दिया है। – agf