如何在Windows上修复"perl未被识别"?

rrr*_*sco 6 windows perl

我已经设置了一个日志文件来获取MySQL慢查询.

但我无法解析文件.Linux使这项任务看起来非常简单.在教程中,它似乎很简单:

 $ mysqldumpslow -s c -t 10
Run Code Online (Sandbox Code Playgroud)

但是在Windows中,我不确定如何运行Perl,它位于:G:\ xampp\perl\bin,其中包含Perl脚本mysqldumpslow.pl,位于:G:\ xampp\mysql\scripts

我试图进入:

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

命令提示符返回"perl is not recognized"之类的内容.

Ale*_*ski 7

呃,你使用的是错误的路径.

如果perl.exe位于G:\ xampp\perl\bin和G:\ xampp\mysql\scripts中的mysql脚本,则需要:

> G:\xampp\perl\bin\perl G:\xampp\mysql\scripts\mysqldumpslow.pl -s c -t 10.
Run Code Online (Sandbox Code Playgroud)

当然,这是一种非常迂回的做事方式,所以相反,将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
Run Code Online (Sandbox Code Playgroud)

或者甚至更好,将perl添加到您已知的文件类型中.

  1. 转到资源管理器 - >工具 - >文件夹选项 - >文件类型.
  2. 单击"新建",键入pl扩展字段.单击确定.
  3. 在列表中找到PL,单击"高级".在"操作"下,单击"新建".
  4. 对于Action类型open,对于'用于执行操作的应用程序'类型:

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

  5. 单击确定.

现在您可以将脚本运行为:

> mysqldumpslow.pl -s c -t 10
Run Code Online (Sandbox Code Playgroud)

就像在Linux中一样.

快速说明:将.pl文件添加为已知文件类型大致相当于Unix人员添加

#!/usr/bin/perl -w
Run Code Online (Sandbox Code Playgroud)

到每个perl脚本的开头.在Windows中,您只需添加一次.

第二个注意事项:-w在perl解释器中打开警告.-w如果您愿意,可以省略.