【问题标题】:How can I force a Perl script to use ActiveState's wperl?如何强制 Perl 脚本使用 ActiveState 的 wperl?
【发布时间】:2009-02-10 13:54:24
【问题描述】:

我有一个 Perl 脚本,它需要两个命令行参数,需要一段时间才能运行。我正在使用 ActiveState Perl 来运行它。我可以用

来调用它
wperl script.pl arg1 arg2
来自命令提示符,它在后台运行良好。如果我将 .pl 关联从 perl.exe 更改为 wperl.exe 并使用
script.pl arg1 arg2
调用它,则不会传递参数。有没有类似于#!/usr/bin/perl 的东西,比如我可以用来强制wperl 习惯?

【问题讨论】:

  • 我们真的需要一个'wperl'标签吗? (这是带有该标签的唯一问题)

标签: windows perl activeperl


【解决方案1】:

Perlmonks 节点wperl.exe vs perl.exe 建议将 .wpl 扩展名与 wperl 相关联。使用 .wpl 扩展名命名您想在 wperl 下运行的所有脚本,而其他 .pl 命名文件使用普通的 perl.exe .

【讨论】:

    【解决方案2】:

    您可以做的是在任何资源管理器窗口的工具>文件夹选项>文件类型中更改与wperl.exe相关的文件关联并更新.pl 扩展名通过高级>打开>编辑命令行

    {Path to wperl}\wperl.exe "%1" %*
    

    这可确保在您使用

    调用脚本时将所有命令行参数 (%*) 传递给 wperl.exe
    script.pl arg1 arg2
    

    【讨论】:

      【解决方案3】:
      unless ($^X =~ m/wperl\.exe$/i) {
          exec "wperl",$0,@ARGV;
          exit 0;
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2010-10-28
        • 2013-07-24
        • 2019-06-02
        • 1970-01-01
        • 1970-01-01
        • 2010-11-13
        • 1970-01-01
        相关资源
        最近更新 更多