2

截至今天早上,我有在 Windows 7 中运行的 perl 脚本。我错误地使用记事本作为打开/编辑我的 .pl 文件的默认值。现在,当我尝试从 DOS 提示符运行未经编辑的 .pl 文件时,脚本不会执行,而是在 Windows 资源管理器中打开相关的源代码文件。无论复杂程度如何(包括经典的“hello world”),这对于我所有的 .pl 文件都是一样的。

我一直在研究需要对注册表进行的更改——一切看起来都很好。尝试了 assoc 和 ftype 更改 - 没有。尝试重新安装 ActivePerl - 没有解决方案。

4

3 回答 3

5

您无需进入注册表。

  • 进入 Windows 资源管理器。
  • 查找以*.pl后缀结尾的文件。
  • 右键单击它并调出上下文菜单。
  • 选择“打开方式”(它后面可能只是Open...一个椭圆。我目前没有 Windows 机器来验证这一点)。这将打开一个包含所有各种程序的对话框。注意:Perl 可能未列在初始程序集中。不用担心,只需导航到它。
  • 对话框底部是一个复选框(类似于使用此程序打开所有扩展程序)。确保选中该复选框。

在此之后,所有以 Perl 结尾的文件都*.pl将使用 Perl 而不是记事本打开。

很可能有人使用 Perl 脚本执行此操作以对其进行编辑,并弄乱了文件关联。

然而,谁做过这个应该被打一巴掌——不是为了搞乱文件关联,而是为了用记事本编辑程序。糟糕的开发者!没有甜甜圈给你!

程序应该用程序编辑器打开。如果你是一个真正的男人,你可以使用VIM。VIM 是一个快速、强大的程序编辑器,但你需要在 VIM 忍者大师的脚下实习才能学习如何使用它。你使用 VIM 的前三到六个月将是多么愚蠢的程序!这太可怕了。谁写了这个废话?. 然后,有一天,您将了解它的力量和效率。您将成为该计划的一员。

如果您不勇敢或无所畏惧,或者没有六个月的时间来学习编程编辑器,您可以使用Notepad++。与 VIM Notepad++ 相比,就像驾驶小型货车。它安全,实用,并且可以完成工作。

两位编辑都进行语法突出显示,可以帮助您发现问题。两者(VIM 可以——我认为 Notepad++ 也可以)提供语法和使用方面的帮助。两者都可以编辑文件而不会弄乱行尾(它们都会检测文件是否具有 Unix 或 Windows 行尾并保留它们或允许您转换它们)。两者都将为您的行编号,具有广泛的剪切/粘贴缓冲区,强大的搜索和替换功能。并且不会弄乱您的文件编码。两者都提供文件之间的视觉差异,并在您编辑文件时进行自动备份。

最后,这两个编辑器将自己嵌入到右键单击文件时获得的上下文菜单中。您可以通过单击文件来编辑文件,然后直接从上下文菜单中选择 VIM 或 Notepad++。无需选择“打开方式...”,可能会弄乱文件后缀关联。

永远不要使用记事本编辑程序。

于 2013-12-16T01:29:08.840 回答
2

听起来您的 .pl 扩展关联现在设置为记事本而不是 perl.exe。如果您太忙而无法解决这个问题,只需在命令启动窗口中键入“perl yourscript.pl”即可启动 perl 解释器并将您的脚本发送给它以运行。

请参阅此答案以修复关联:

文件类型 .pl 关联并使用 cmd.exe 运行脚本

于 2013-12-15T23:34:01.280 回答
1

我也有同样的问题。上述方法都不能解决问题。问题实际上来自Windows 7!无论出于何种原因,Windows 7 都不允许您将 .pl 关联到 c:\Perl64 目录中的 perl.exe。这是解决方案:如果您查看 c:\Perl64\Bin 目录(或安装 ActivePerl 二进制文件的路径),您将看到另一个文件:Perl5.14.2.exe。这是与 perl.exe 在同一目录中的相同文件,但在名称中附加了版本号作为后缀。您可以将 .pl 文件关联到该 Perl5.14.2.exe 而不是 perl.exe。宾果游戏,它现在有效。

于 2015-09-20T02:41:46.480 回答