2010-01-25 13 views
5

Ustawiłem plik dziennika, aby pobrać wolne zapytania MySQL.Jak naprawić "Perl nie jest rozpoznawany" w systemie Windows?

Nie udało się jednak sparsować pliku. Linux sprawia, że ​​to zadanie wydaje się bardzo proste. W samouczki wydaje się tak proste, jak:

$ mysqldumpslow -s c -t 10 

w systemie Windows, jednak nie jestem pewien, jak można uruchomić Perl, który znajduje się w: G: \ xampp \ perl \ bin z Perl Script mysqldumpslow.pl, znajduje się w: G: \ xampp \ mysql \ scripts

próbowałem wejść:

G: \ xampp \ mysql \ scripts \ Perl mysqldumpslow -SC -t 10

W wierszu polecenia pojawi się komunikat "nie rozpoznano perla".

+1

Czy próbowałeś 'G: \ xampp \ mysql \ Scripts \ perl.exe'? –

Odpowiedz

6

Errm, używasz niewłaściwych ścieżek.

Jeśli perl.exe znajduje się w G: \ xampp \ perl \ bin i skrypt mysql w G: \ xampp \ mysql \ scripts, trzeba:

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

oczywiście, że to bardzo rondo sposób robienia rzeczy, więc zamiast tego dodać perla do PATH, a cd do odpowiedniego katalogu, a następnie uruchom go:

> 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 

lub nawet lepiej, dodać perla do znanych typów plików.

  1. Przejdź do Explorer -> Narzędzia -> Folder Opcje -> Typy plików.
  2. Kliknij przycisk "Nowy", wpisz pl dla pola rozszerzenia . Kliknij OK.
  3. Znajdź PL na liście, kliknij Zaawansowane. W obszarze Akcje kliknij "Nowy".
  4. Dla typu działania open dla 'Aplikacja używana do wykonania akcji' typ:

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

  5. Kliknij Ok.

Teraz możesz uruchomić skrypt jako:

> mysqldumpslow.pl -s c -t 10 

tak jak w Linuksie.

Szybka uwaga: Dodawanie plików .PL jako znanych typów plików jest mniej więcej odpowiednikiem Unix osób dodających

#!/usr/bin/perl -w 

na początku każdego skryptu perla. W systemie Windows wystarczy dodać go tylko raz.

Druga wiadomość: -w włącza ostrzeżenia w interpretera perla.Jeśli chcesz, możesz pominąć -w.

+0

Każda idea, co ten błąd oznacza? "Nie można znaleźć ścisłej godziny w @INC (INC zawiera:.) W linii 8." Wiersz 8 brzmi "use strict". – rrrfusco

+0

Nie można załadować modułu "strict.pm" perl. '@ INC' to miejsce, w którym perl szuka modułów. Obecnie twój jest ustawiony na bieżący katalog, ".". Zobacz http://www.wellho.net/mouth/588_Changing-INC-where-Perl-loads-its-modules.html, aby uzyskać więcej informacji, lub zadaj nowe, osobne pytanie. –

+0

Tutaj zamieściłem kolejne pytanie: http://stackoverflow.com/questions/2185762/how-do-read-this-perl-script-with-windows-shell – rrrfusco

0

jeśli twój interpreter Perl.exe znajduje się w G:\xampp\perl\bin, a następnie użyj G:\xampp\perl\bin\perl.exe. W celu ułatwienia wywoływania interpretera Perla z dowolnego miejsca można dodać ścieżkę G:\xampp\perl\bin do zmiennej środowiskowej PATH. Aby połączyć się z skrypt Perla, spróbuj tego

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

naprawiłem ten błąd za pomocą polecenia:

set PATH=C:\perl\bin;%PATH% 
Powiązane problemy