मुझे ~/perl
में मेरी होस्टिंग मशीन पर कई पर्ल मॉड्यूल स्थापित किए गए हैं, मैं उन्हें पर्ल मॉड्यूल पथ में कैसे जोड़ूं? PERL5LIB
या unshift
को @INC
पर पथ निर्धारित करने के लिए निश्चित रूप से कार्य करता है, लेकिन सीजीआई स्क्रिप्ट के रूप में चलते समय पर्यावरण चर मदद नहीं करता है और @INC
रास्ता बहुत पोर्टेबल नहीं है। क्या कोई बेहतर तरीका है? यह एक आम समस्या होनी चाहिए, क्या मुझे कुछ याद आ रहा है?मैं CGI स्क्रिप्ट के लिए मॉड्यूल के लिए पर्ल के समावेशन पथ को कैसे सेट कर सकता हूं?
उत्तर
PERL5LIB CGI स्क्रिप्ट के लिए ठीक काम करता है। आपको केवल वैरिएबल को सही जगह पर सेट करना होगा, जैसे सर्वर कॉन्फ़िगरेशन। आप किस वेबसर्वर का उपयोग कर रहे हैं? अपाचे के लिए, मैं mod_env से SetEnv निर्देश का उपयोग करता हूं।
@INC पोर्टेबल है। आपके द्वारा डाले गए पथ प्रत्येक मशीन पर समान नहीं हो सकते हैं, लेकिन आपको चर के साथ समस्या नहीं होनी चाहिए।
आप perlfaq8 में पूछे जाने वाले प्रश्न प्रविष्टियों पढ़ा है:
यह imo करने के लिए एक क्लीनर तरीका है:
use lib "/path/" ;
वहाँ यह करने के लिए अन्य रोचक और अच्छी तरीके यहां पाया जा सकता है कि कर रहे हैं:
http://www.slideshare.net/pfig/cpan-training-presentation/
इसके अलावा, पुन: सीजीआई स्क्रिप्ट्स, आप अपने CGI Env के लिए PERL5LIB पथ परिभाषित कर सकते हैं, यह केवल आपके वेबहोस्ट पर निर्भर करता है।
कुछ वेबहोस्ट सीजीआई पर्यावरण के लिए एनवी चर के विशिष्ट नियंत्रण की अनुमति देते हैं, और आपको बस उन्हें सेट करना होगा, अन्य लोगों के पास "परमिट" सूची हो सकती है जो प्रारंभिक समय पर दिखाई देने वाले चर को स्थानीय दायरे में दिखाई देता है।
आपके विशिष्ट HTTP सर्वर पर ऐसा करने के तरीके को पढ़ने में मदद कर सकता है।
वहाँ, एक और विकल्प है यदि ENV की स्थापना अपने स्वाद के लिए नहीं है: local::lib
कौन सा कुछ पूर्वनिर्धारित पथ स्वचालित रूप से खोज करता है।
+1 बस ध्यान दें कि PERL5LIB नजरअंदाज कर दिया है आप कलंक मोड पर ... http बंद होना चाहिए: //perldoc.perl.org/perlsec.html#Taint-mode-and-%40INC – draegtun
- 1. मैं एक पर्ल CGI स्क्रिप्ट से प्रगति के उपयोगकर्ता को लगातार कैसे सूचित कर सकता हूं?
- 2. पर्ल: मैं एआरएक्स को पर्ल स्क्रिप्ट के पूर्ण पथ में उद्धरण जोड़ने के लिए कैसे प्राप्त कर सकता हूं?
- 3. मैं विंडोज पर एक पर्ल CGI स्क्रिप्ट से पृष्ठभूमि प्रक्रियाओं को कैसे फोर्क कर सकता हूं?
- 4. मैं पर्ल मॉड्यूल को अनलोड कैसे कर सकता हूं?
- 5. मैं पर्ल वैरिएबल के लिए डिफ़ॉल्ट मान कैसे सेट कर सकता हूं?
- 6. पर्ल के बिना मशीन पर चलाने के लिए मैं अपनी पर्ल स्क्रिप्ट को कैसे पैकेज कर सकता हूं?
- 7. मैं पर्ल के बिग्नम के लिए परिशुद्धता का स्तर कैसे निर्धारित कर सकता हूं?
- 8. मैं ListViewSubItem के लिए आइकन कैसे सेट कर सकता हूं?
- 9. मैं थोक खोज कैसे कर सकता हूं और पर्ल के साथ प्रतिस्थापित कैसे कर सकता हूं?
- 10. मैं एक पर्ल स्क्रिप्ट में चर देखने के लिए एक पर्ल स्क्रिप्ट कैसे प्राप्त कर सकता हूं?
- 11. मॉड्यूल बनाने के दौरान मैं पर्ल के संकलन झंडे को कैसे ओवरराइड कर सकता हूं?
- 12. मैं पर्ल मॉड्यूल पथ को गतिशील रूप से कैसे बदलूं?
- 13. पर्ल में, मैं एक आवश्यक स्क्रिप्ट में लोड किया गया CGI :: कार्प को कैसे अक्षम कर सकता हूं?
- 14. मैं पर्ल से फ़ाइल अनुमतियां कैसे सेट कर सकता हूं?
- 15. मैं पर्ल स्क्रिप्ट के भीतर से पर्ल स्क्रिप्ट कैसे चला सकता हूं?
- 16. मैं heroku postgresql ऐप के लिए पथ कैसे सेट कर सकता हूं?
- 17. मैं पर्ल मॉड्यूल निर्भरताओं का प्रबंधन कैसे कर सकता हूं?
- 18. मैं PHP स्क्रिप्ट के लिए अधिकतम निष्पादन समय कैसे सेट कर सकता हूं?
- 19. मैं एक पर्ल स्क्रिप्ट कैसे डिबग कर सकता हूं?
- 20. मैं विभिन्न पर्ल अनुप्रयोगों के लिए विशेष वातावरण कैसे स्थापित कर सकता हूं?
- 21. मैं विशिष्ट फ़ाइलों को आउटपुट में कॉपी करने के लिए चींटी कैसे सेट कर सकता हूं?
- 22. मैं अपनी पर्ल स्क्रिप्ट में अंतर्राष्ट्रीयकरण कैसे जोड़ सकता हूं?
- 23. मैं अपने मॉड्यूल को खोजने के लिए मॉडप्रोब को कैसे कॉन्फ़िगर कर सकता हूं?
- 24. अपाचे के बिना मैं अपनी perl CGI स्क्रिप्ट कैसे चला सकता हूं?
- 25. 'XMLNAMESPACES के साथ ... एक्सएमएल पथ के लिए' एक चर के लिए आउटपुट सेट नहीं कर सकता?
- 26. मैं रनटाइम पर एक पर्ल मॉड्यूल कैसे लोड कर सकता हूं?
- 27. मैं पर्ल में सेट का प्रतिनिधित्व कैसे कर सकता हूं?
- 28. मैं 1000 फाइलें कैसे बना सकता हूं जिनका उपयोग मैं स्क्रिप्ट का परीक्षण करने के लिए कर सकता हूं?
- 29. मैं विंडोज पर make.exe के लिए पथ कहां सेट कर सकता हूं?
- 30. पर्ल में प्रतीकात्मक लिंक के लिए मैं हाई-रेज माटा कैसे प्राप्त कर सकता हूं?
धन्यवाद, मुझे SetEnv निर्देश के बारे में पता नहीं था। यही वह चीज है जिसे मैं ढूंढ रहा था। – zoul
यह सभी सर्वर सेटअप पर काम नहीं करता है - कुछ SetEnv को अक्षम करते हैं, और जो मैं पढ़ रहा हूं, उससे अन्य केवल इसे पर्यावरण चर सेट करने की अनुमति देते हैं जो HTTP_ से शुरू होता है। मुझे लगता है कि किसी तरह का सुरक्षा उपाय। – user1618143