windows मैं स्ट्रॉबेरी पर्ल के साथ प्रोग्राम कैसे चला सकता हूं?




perl ack (4)

अगर वह इस ब्लॉग पोस्ट में दिशानिर्देशों का पालन करता है, तो उसे ठीक होना चाहिए। मुझे थोड़ी देर के लिए स्ट्रॉबेरी पर्ल स्थापित करने की ज़रूरत नहीं है, लेकिन आईआईआरसी ने इसे स्थापित करने के बाद, मैं इसे इस्तेमाल करने में सक्षम था जैसे कि मैं लिनक्स बॉक्स पर था। (उदाहरण के लिए perl yourscripthere.pl )

एक सहकर्मी अपनी विंडोज मशीन पर एएके (एक पर्ल प्रोग्राम) का उपयोग करने की कोशिश कर रहा है, जिसने इसे लिनक्स के तहत कोशिश की और फैसला किया कि वह निश्चित रूप से इसका उपयोग करना चाहता है। वह अपनी मशीन पर स्ट्रॉबेरी पर्ल स्थापित करने में कामयाब रहे, लेकिन यह पता लगाना प्रतीत नहीं होता कि कमांड प्रॉम्प्ट से एके को चलाने के लिए क्या करना है। उन्होंने # संपादित करने की कोशिश की! लाइन, लेकिन मुझे पता था कि काम नहीं करेगा। मुझे यकीन है कि स्ट्रॉबेरी पर्ल अपने पैथ में है।

स्ट्रॉबेरी का उपयोग कर विंडोज पर अपने पाथ में एक सामान्य पर्ल प्रोग्राम चलाने के लिए आपको क्या करने की ज़रूरत है?

अद्यतन: मैं PATHEXT चर के बारे में कुछ जानकारी ऑनलाइन देख रहा हूं, लेकिन पर्याप्त नहीं है।


एक और समाधान PAR :: Packer के साथ ack.exe बनाने के लिए है - उसे स्ट्रॉबेरी की आवश्यकता नहीं होगी।


सबसे पहले, सावधान रहें कि कार्यक्रम Path , न केवल perl.exe । पर्ल बाइनरी और कोर प्रोग्राम आमतौर पर <installdir>\bin में समाप्त होते हैं, लेकिन अन्य साइट विशिष्ट निर्देशिका <installdir>\site\bin में समाप्त हो सकते हैं। आदेश

dir C:\strawberry\ack* /s

आपकी खोज में सहायता कर सकता है। सुनिश्चित करें कि आपका Path आपके सेटअप को प्रतिबिंबित करता है।

Windows कमांड प्रॉम्प्ट से एक पर्ल प्रोग्राम चलाने के लिए, कम से कम मुझे पता है कि दो सामान्य तरीके हैं।

सबसे पहले प्रोग्राम के बैच संस्करण को pl2bat साथ pl2bat , जो कार्यक्रम के साथ perl निष्पादित करेगा। इंस्टॉल किए गए प्रोग्राम आमतौर पर इसे स्वचालित रूप से करते हैं क्योंकि MakeMaker और Module::Build का ख्याल रखना।

दूसरा एक .pl फ़ाइल एसोसिएशन बनाना है। यह रजिस्ट्री कुंजी HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.pl\Shell\Open\Command (या HKEY_CURRENT_USER अगर यह केवल वर्तमान उपयोगकर्ता के लिए है) बनाकर किया जाता है और (Default) मान सेट करता है

"C:\strawberry\perl\bin\perl.exe" "%1" %*

इस तरह, आप प्रोग्राम को सिर्फ .pl एक्सटेंशन के साथ नाम देकर कॉल कर सकते हैं। अब आप प्रोग्राम. program.pl साथ program.pl आह्वान कर सकते हैं।

आपने देखा होगा कि आप विस्तार के बिना विंडोज़ पर एक प्रोग्राम को कॉल कर सकते हैं। कार्यक्रम Path में खोजा जाता है, लेकिन जब कोई एक्सटेंशन नहीं होता है, तो नाम को पूरा करने के लिए PATHEXT का उपयोग किया जाता है। सूची में .pl संलग्न करें, और आप कार्यक्रम के साथ program को आमंत्रित कर सकते हैं। ध्यान दें कि इस सूची में क्रम खोज के लिए महत्वपूर्ण है, जैसे कि Path मामलों में क्रम।

इंस्टॉलर आमतौर पर पिछले दो चरणों का ख्याल रखते हैं, लेकिन यह ज्ञान उपयोगी है यदि आप अपना खुद का जोड़ना चाहते हैं या इसे ठीक करने की आवश्यकता है।


मुझे सिर्फ एके इंस्टॉल करने और कमांड लाइन से चलाने में कोई समस्या नहीं है।

स्ट्रॉबेरी पर्ल सही ढंग से स्थापित है? क्या आप cmd.exe से "perl" चला सकते हैं?

C:\> perl -V
Summary of my perl5 (revision 5 version 10 subversion 0) configuration:
  Platform:
    osname=MSWin32, osvers=5.1, archname=MSWin32-x86-multi-thread
...

क्या ऐप :: एक सही ढंग से स्थापित किया गया था?

C:\> cpan App::Ack
...
Installing C:\strawberry\perl\site\lib\App\Ack.pm
Installing C:\strawberry\perl\site\lib\App\Ack\Plugin.pm
Installing C:\strawberry\perl\site\lib\App\Ack\Repository.pm
Installing C:\strawberry\perl\site\lib\App\Ack\Resource.pm
Installing C:\strawberry\perl\site\lib\App\Ack\Plugin\Basic.pm
Installing C:\strawberry\perl\bin\ack
Installing C:\strawberry\perl\bin\ack.bat
Writing C:\strawberry\perl\site\lib\auto\ack\.packlist
Appending installation info to C:\strawberry\perl\lib/perllocal.pod
  PETDANCE/ack-1.88.tar.gz
  C:\strawberry\c\bin\dmake.EXE install UNINST=1 -- OK

यदि ऐसा है, तो मुझे नहीं लगता कि आप कमांड लाइन से "एएके" क्यों नहीं चला सकते हैं:

C:\> ack --version
ack 1.88

Copyright 2005-2009 Andy Lester, all rights reserved.

This program is free software; you can redistribute it and/or modify it
under the same terms as Perl itself.

अगर यह काम नहीं कर रहा है, तो उस श्रृंखला में चीजें तोड़ दी जाती हैं? उदाहरण के लिए, यदि आप कमांड लाइन से "perl" नहीं चला सकते हैं, तो स्ट्रॉबेरी सही ढंग से इंस्टॉल नहीं हुआ (या आपके पैथ में नहीं है) और आपको इसे ठीक करने की आवश्यकता होगी। लेकिन अन्यथा, एके को "ack.bat" wrapper के साथ "perl" के समान पथ में इंस्टॉल किया जाता है, इसलिए यदि आप "perl" चला सकते हैं तो आपको "ack" चलाने में सक्षम होना चाहिए।







strawberry-perl