2010-01-25 18 views
5

मैंने MySQL धीमी क्वेरी लेने के लिए एक लॉग फ़ाइल सेट की है।विंडोज़ पर "पर्ल पहचाना नहीं गया" मैं कैसे ठीक करूं?

हालांकि मैं फ़ाइल को पार्स करने में असमर्थ हूं। लिनक्स यह काम बहुत आसान लगता है। ट्यूटोरियल में यह रूप में आसान लगता है के रूप में: जी:

$ mysqldumpslow -s c -t 10 

Windows में हालांकि, मैं नहीं यकीन है कि कैसे आप पर्ल, में स्थित चलाने हूँ \ XAMPP \ पर्ल \ पर्ल स्क्रिप्ट mysqldumpslow.pl साथ बिन में स्थित: जी:

जी:: \ XAMPP \ mysql \ लिपियों

मैं प्रवेश करने की कोशिश की है \ XAMPP \ mysql \ लिपियों \ पर्ल mysqldumpslow -SC आयकर 10

कमांड प्रॉम्प्ट कुछ ऐसा करता है जैसे "perl पहचान नहीं है"।

+1

आप की कोशिश की है 'जी: \ XAMPP \ mysql \ लिपियों \ perl.exe'? –

उत्तर

6

एआरआरएम, आप गलत पथ का उपयोग कर रहे हैं।

तो perl.exe जी में स्थित है: \ XAMPP \ पर्ल \ बिन और जी में mysql स्क्रिप्ट: \ XAMPP \ mysql \ लिपियों, आप की जरूरत:

> G:\xampp\perl\bin\perl G:\xampp\mysql\scripts\mysqldumpslow.pl -s c -t 10. 
बेशक

, कि एक बहुत ही गोल चक्कर है ,

> set PATH=G:\xampp\perl\bin\;%PATH% // Note: This can be added in the 
             // System Control Panel. 
> cd /d G:\xampp\mysql\scripts 
> perl mysqldumpslow.pl -s c -t 10 

या और भी बेहतर अपने ज्ञात फ़ाइल प्रकारों के लिए पर्ल जोड़ें: काम करने के रास्ते, इसलिए उसके बजाय पर्ल अपने पथ पर cd सही निर्देशिका में जोड़ने के लिए, और और फिर इसे चलाते हैं।

  1. एक्सप्लोरर पर जाएं -> टूल्स -> फ़ोल्डर विकल्प -> फ़ाइल प्रकार।
  2. एक्सटेंशन फ़ील्ड के लिए 'नया' पर क्लिक करें, pl टाइप करें। ओके पर क्लिक करें।
  3. अपनी सूची में पीएल खोजें, उन्नत पर क्लिक करें। क्रियाओं के तहत, 'नया' पर क्लिक करें।
  4. कार्रवाई प्रकार open के लिए, प्रकार 'क्रिया करने के लिए इस्तेमाल किया आवेदन' के लिए:

    G:\xampp\perl\bin\perl.exe -w "%1" %*

  5. ठीक क्लिक करें।

    > mysqldumpslow.pl -s c -t 10 
    

    आप लिनक्स में होगा के रूप में:

अब तुम बस के रूप में स्क्रिप्ट चला सकते हैं।

त्वरित टिप्पणी: ज्ञात फ़ाइल प्रकारों के रूप में .pl फ़ाइलें जोड़ना मोटे तौर पर हर पर्ल स्क्रिप्ट के शुरू करने के

#!/usr/bin/perl -w 

जोड़ने यूनिक्स लोगों के बराबर है। विंडोज़ में आपको केवल इसे एक बार जोड़ना होगा।

दूसरा नोट: -w पर्ल दुभाषिया में चेतावनी चालू करता है।यदि आप चाहें तो -w छोड़ सकते हैं।

+0

कोई विचार क्या इस त्रुटि का मतलब है? "लाइन 8 पर @INC में सख्त पीएम का पता नहीं लगा सकता है (आईएनसी में शामिल हैं:।)" लाइन 8 "सख्त उपयोग" पढ़ता है। – rrrfusco

+0

यह 'dire.pm' perl मॉड्यूल लोड नहीं कर सकता है। '@ INC' वह जगह है जहां पर्ल मॉड्यूल की तलाश में है। वर्तमान में, आपका वर्तमान निर्देशिका, '।' पर सेट है। अधिक जानकारी के लिए http://www.wellho.net/mouth/588_Changing-INC-where-Perl-loads-its-modules.html देखें, या एक नया, अलग प्रश्न पूछें। –

+0

मैंने यहां एक और प्रश्न पोस्ट किया: http://stackoverflow.com/questions/2185762/how-do-i-read-this-perl-script-with-windows-shell – rrrfusco

0

यदि आपका पर्ल दुभाषिया perl.exe G:\xampp\perl\bin में स्थित है, तो G:\xampp\perl\bin\perl.exe का उपयोग करें। अपने पर्ल दुभाषिया को कहीं से भी कॉल करने की सुविधा के लिए, आप अपने PATH पर्यावरण चर में पथ G:\xampp\perl\bin जोड़ सकते हैं। अपने पर्ल स्क्रिप्ट कॉल करने के लिए, इस

c:\> G:\xampp\perl\bin\perl.exe G:\xampp\mysql\scripts\mysqldumpslow.pl 
1

मैं यह त्रुटि ठीक कोशिश कमांड का उपयोग करके:

set PATH=C:\perl\bin;%PATH% 
संबंधित मुद्दे