नहीं, एक शेल स्क्रिप्ट नहीं लिखें। पर्ल को पहले से ही ऐसा करने का एक बिल्कुल अच्छा तरीका है। ऐसा करने का सही तरीका सामान्य टूलचेन का उपयोग करके एक सीपीएएन-तैयार वितरण बनाना है। इनमें से कुछ को perlnewmod, perlmodstyle और perlmodinstall में समझाया गया है।
एक न्यूनतम काम कर उदाहरण के लिए, एक निर्देशिका लेआउट इस प्रकार बनाने के लिए:
.
├── Build.PL
├── README
└── script
└── abuscript.pl
Build.PL
फ़ाइल में डाल दिया:
use 5.000;
use Module::Build qw();
Module::Build->new(
module_name => 'abuscript',
dist_version => '1.000',
dist_author => 'abubacker <[email protected]>',
dist_abstract => 'describe what the script does in one sentence',
configure_requires => {
'perl' => '5.000',
},
requires => {
'JSON::Any' => 0,
},
)->create_build_script;
बदलें विवरण अपने उद्देश्यों के सूट करने के लिए।
README
फ़ाइल में, कुछ स्थापना के निर्देश डाल उदाहरण के लिए:
To install this module, run the following commands:
perl Build.PL
./Build install
बार जब आप सभी कि पूरे कर चुके हैं, तो आप चलाएँ:
perl Build.PL
./Build manifest
./Build dist
यह एक .tar.gz
संग्रह में परिणाम होगा जो आप वितरित करेंगे। अपने उपयोगकर्ताओं को इसे किसी भी अन्य सीपीएएन मॉड्यूल की तरह स्थापित करने के लिए कहें, या यदि उन्हें नहीं पता कि इसका क्या अर्थ है, तो उन्हें रीडमी पढ़ना चाहिए।
यदि आपके पास समय है, तो मैं आपकी स्क्रिप्ट को मॉड्यूल में बदलने की अनुशंसा करता हूं। कार्यक्रम pl2pm (पर्ल के साथ आता है) और सीपीएएन मॉड्यूल Module-Starter-PBP आपकी मदद करता है।
यदि लाइसेंस अनुमति देता है, तो अपने उपयोगकर्ताओं के लिए इसे और अधिक सुविधाजनक बनाने के लिए अपना कोड सीपीएएन अपलोड करना संभव है। मेलिंग सूची [email protected], वेब मंच PerlMonks, चुंबक पर आईआरसी चैनल #toolchain (आईआरसी: //irc.perl.org/toolchain)
मैं 'perl -MJSON :: Any -e1 2>/dev/null' पसंद करूंगा - क्या संस्करण को प्रिंट करने और इसे थोड़ा बाल्टी – justintime
@justintime पर भेजने में कोई बात है: जैसा कि मैंने कहा था, अगर आप जांचना चाहते हैं JSON का संस्करण :: कोई भी, आउटपुट कैप्चर करें - यह मुझे यह बताने के लिए सहेजा गया है कि संस्करण को एक अलग अभ्यास के रूप में कैसे पकड़ें। –