【问题标题】:ActivePerl. .pl files no longer execute but open in Notepad instead活动Perl。 .pl 文件不再执行,而是在记事本中打开
【发布时间】:2014-01-03 06:34:45
【问题描述】:

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

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

【问题讨论】:

    标签: windows perl cmd activeperl


    【解决方案1】:

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

    查看此答案以修复关联:

    File Type .pl Association and Using cmd.exe to Run the Script

    【讨论】:

    • 感谢您的反馈。我实际上知道我可以运行“perl myscript.pl”作为解决方案。但是,在创建这个 .plNotePad 关联之前,我可以简单地输入“myscript.pl”,它会运行良好
    • 至于解决这个问题,我似乎无法纠正它。我已经查看了注册表,一切看起来都很好。我试图通过 assoc 和 ftyple 进行重置,但没有成功。在这个阶段我被难住了(并且已经用完了网络研究)......
    • 您是否尝试过重启,不确定是否需要重启才能生效。
    • 您可能还会发现这个应用程序可以方便地修复文件关联nirsoft.net/utils/file_types_manager.html
    【解决方案2】:

    您无需进入注册表。

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

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

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

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

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

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

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

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

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

    【讨论】:

      【解决方案3】:

      我也有同样的问题。上述方法均不能解决问题。问题实际上来自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。宾果游戏,现在可以使用了。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-04-11
        • 2020-11-21
        • 1970-01-01
        • 2022-11-04
        • 2016-11-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多