Как я могу исправить "Perl не распознается" в Windows? - PullRequest
6 голосов
/ 25 января 2010

Я настроил файл журнала для получения медленных запросов MySQL.

Однако я не смог разобрать файл. Linux делает эту задачу очень простой. В уроках это выглядит так просто, как:

 $ mysqldumpslow -s c -t 10

Однако в Windows я не уверен, как вы запускаете Perl, расположенный в: G: \ xampp \ perl \ bin со скриптом Perl mysqldumpslow.pl , расположенным в : G: \ xampp \ mysql \ scripts

Я пытался ввести:

G: \ xampp \ mysql \ scripts \ perl mysqldumpslow -s c -t 10

Командная строка возвращает что-то вроде «Perl не распознан».

Ответы [ 3 ]

7 голосов
/ 25 января 2010

Errm, вы используете неправильные пути.

Если perl.exe находится в G: \ xampp \ perl \ bin, а скрипт mysql в G: \ xampp \ mysql \ scripts, вам необходимо:

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

Конечно, это очень обходной путь, поэтому вместо этого добавьте perl в PATH и cd в правильный каталог, а затем запустите его:

> 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

Или, что еще лучше, добавьте perl к вашим известным типам файлов.

  1. Перейти в Проводник -> Инструменты -> Папка Параметры -> Типы файлов.
  2. Нажмите «Создать», введите pl для поле расширения. Нажмите Ok.
  3. Найдите PL в вашем списке, нажмите Advanced. В разделе «Действия» нажмите «Создать».
  4. Для типа действия open, для типа «Приложение, использованное для выполнения действия»:

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

  5. Нажмите Ok.

Теперь вы можете просто запустить скрипт как:

> mysqldumpslow.pl -s c -t 10

Как и в Linux.

Краткое примечание: Добавление файлов .pl в качестве файлов известных типов примерно эквивалентно добавлению

пользователями Unix.
#!/usr/bin/perl -w

к началу каждого сценария perl. В Windows вам нужно добавить его только один раз.

Второе примечание: -w включает предупреждения в интерпретаторе Perl. Вы можете пропустить -w, если хотите.

1 голос
/ 07 июня 2012

Я исправил эту ошибку с помощью команды:

set PATH=C:\perl\bin;%PATH%
0 голосов
/ 25 января 2010

, если ваш Perl interpreter perl.exe находится в G:\xampp\perl\bin, тогда используйте G:\xampp\perl\bin\perl.exe. Для удобства вызова интерпретатора Perl из любого места вы можете добавить путь G:\xampp\perl\bin в переменную среды PATH. Чтобы вызвать свой Perl-скрипт, попробуйте это

c:\> G:\xampp\perl\bin\perl.exe G:\xampp\mysql\scripts\mysqldumpslow.pl
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...