相关疑难解决方法(0)

如何让我的Perl脚本像Windows上的普通程序一样?

我希望我的Perl脚本的行为与任何其他可执行文件(*.exe文件)一样.

  • 当我双击时,myscript.pl我希望它执行而不是在文本编辑器中打开.
  • 我想跑myscript.pl而不是perl myscript.pl.
  • 我真的想跑myscript而不是myscript.pl.
  • 我想跑program | myscript而不是program | perl myscript.pl.
  • 我希望能够通过拖放操作来运行我的脚本.

您必须在Windows上进行许多更改才能使所有这些工作正常进行.用户通常偶然发现的东西,工作,一次一个; 让他们感到困惑,他们是否犯了错误,Perl中存在错误,Windows中存在错误,或者他们想要的行为是不可能的.这个问题旨在提供一个单一的参考点,使一切工作在前面; 理想情况下,在这些问题发生之前.

相关问题:

windows perl

37
推荐指数
2
解决办法
3万
查看次数

Windows上的Perl,文件关联和I/O重定向

有人能解释通过文件关联调用perl脚本与通过显式调用相同脚本之间的区别perl.exe吗?

显然,当通过文件关联调用脚本时,I/O重定向不能很好地工作,我真的很想知道原因.

例如,在Windows上查看PerlActivestate FAQ.cat file只要脚本没有通过重定向接收输入,该示例就可以正常工作.所以

cat file.txt
Run Code Online (Sandbox Code Playgroud)

按预期工作,但是

whoami | cat.pl
Run Code Online (Sandbox Code Playgroud)

才不是.不仅.pl需要扩展,而且显然输出whoami不会通过管道传输到脚本中.运行脚本(可以通过修改示例cat.pl脚本来验证),但由于某种原因,它不会接收whoami输入的输出.

但是,如果我像这样调用脚本:

whoami | perl cat.pl
Run Code Online (Sandbox Code Playgroud)

一切都按预期工作.

显然,通过文件关联运行脚本和perl.exe使用脚本显式调用之间存在重要区别.

常见问题解答提到了这个问题,并指出pl2bat用于为脚本生成bat文件封面修复了问题,但我不明白为什么这是必要的.

请赐教.

windows perl redirect file-association

6
推荐指数
1
解决办法
2940
查看次数

标签 统计

perl ×2

windows ×2

file-association ×1

redirect ×1