2010-01-25 50 views
5

He configurado un archivo de registro para recoger consultas lentas de MySQL.¿Cómo arreglo "Perl no se reconoce" en Windows?

No he podido analizar el archivo sin embargo. Linux hace que esta tarea parezca muy simple. En tutoriales parece tan fácil como:

$ mysqldumpslow -s c -t 10 

En Windows sin embargo, no estoy seguro de cómo ejecutar Perl, que se encuentra en: G: \ xampp \ Perl \ bin con el mysqldumpslow.pl Perl script , ubicada en: G: \ xampp \ mysql \ scripts

he tratado de entrar en:

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

El símbolo del sistema devuelve algo así como "no se reconoce Perl".

+1

¿Has probado 'G: \ xampp \ mysql \ scripts \ perl.exe'? –

Respuesta

6

Errm, estás utilizando las rutas incorrectas.

Si perl.exe se encuentra en G: \ xampp \ Perl \ bin y la secuencia de comandos de MySQL en G: \ xampp \ mysql \ scripts, necesitan:

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

Por supuesto, eso es una muy indirecta manera de hacer las cosas, así que en vez, añadir perl a su PATH, y cd en el directorio correcto y luego ejecutarlo:

> 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 

O mejor aún, perl añadir a sus tipos de archivos conocidos.

  1. Ir a Explorador -> Herramientas -> Carpeta Opciones -> Tipos de archivos.
  2. Haga clic en 'Nuevo', escriba pl para el campo de extensión . Haga clic en Aceptar.
  3. Encuentra PL en tu lista, haz clic en Avanzado. En Acciones, haga clic en 'Nuevo'.
  4. en Tipo de acción open, por 'Aplicación utilizada para realizar la acción' Tipo:

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

  5. clic en Aceptar.

Ahora usted puede simplemente ejecutar el script como:

> mysqldumpslow.pl -s c -t 10 

como lo haría en Linux.

nota rápida: Adición de archivos .pl como los tipos de archivos conocidos es aproximadamente equivalente a la gente de Unix añadiendo

#!/usr/bin/perl -w 

al principio de cada script de perl. En Windows, solo necesita agregarlo una vez.

Segunda nota: El -w activa las Advertencias en el intérprete de Perl.Puede omitir el -w si lo desea.

+0

¿Alguna idea de lo que significa este error? "No se puede encontrar strict.pm en @INC (INC contiene:.) En la línea 8". La línea 8 dice "use strict". – rrrfusco

+0

No puede cargar el módulo perl 'strict.pm'. '@ INC' es donde perl busca módulos. Actualmente, el suyo está configurado en el directorio actual, '.'. Consulte http://www.wellho.net/mouth/588_Changing-INC-where-Perl-loads-its-modules.html para obtener más información, o haga una nueva pregunta por separado. –

+0

He publicado otra pregunta aquí: http://stackoverflow.com/questions/2185762/how-do-i-read-this-perl-script-with-windows-shell – rrrfusco

0

si su intérprete Perl perl.exe se encuentra en G:\xampp\perl\bin, luego use G:\xampp\perl\bin\perl.exe. Para conveniencia de llamar a su intérprete Perl desde cualquier lugar, puede agregar la ruta G:\xampp\perl\bin en su variable de entorno PATH. Para llamar al script de Perl, probar este

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

que fija este error utilizando el comando:

set PATH=C:\perl\bin;%PATH% 
Cuestiones relacionadas