我发现我必须将.exe文件更改为.plx(已编译的Perl文件,Activestate)才能通过电子邮件发送。然而,当它们在主机程序中运行时,Windows 8要求将.plx与程序相关联。我只是希望.exe像任何.exe一样在Windows上运行,并且用户不会使用Perl。
答案 0 :(得分:1)
tl; dr:使用正确的.exe
扩展名。
背景:回到Perl 4天,.pl
扩展程序用于指定'Perl Library'。在* nix上,“可执行”脚本通常被赋予一个没有扩展名的名称,该文件被赋予一个带有+x
变体的模式,文件以#!<some path>/perl
行开头。为了处理没有处理#!
行的shell,perl被赋予了检查它给出的文件的起始字节的能力,并且如果文件包含正确的“幻数”,则使用正确的interpereter重新启动它。路径。 ActiveState人员希望在Windows上创建“可执行”perl文件,并将.pl
扩展名与perl.exe相关联。
Perl 5带有.pm
扩展的模块和'Perl Libraries'的使用减少。 ActiveState将.pm
扩展名添加到与perl.exe
关联的列表中。看到.pl
扩展名的误用率越来越高,一些Perl名人建议在Windows上对Perl可执行文件的适当扩展可能是.plx
。 ActiveState向perl.exe
添加了另一个关联。
回答:当您使用不正确的.exe
扩展程序重命名.plx
文件并双击它时,会将其移至perl.exe
。 Perl注意到你的文件实际上不是perl,而是一个Windows可执行文件,并重新启动它。您的受害者\ h \ h \ h \ h \ h \ hcustomer没有安装Perl来更正错误。最后,该文件应该具有.exe
扩展名。
附录:perlapp
对perl程序的作用是“编译”,与“女王的最伟大的命中”相同。它会弹出一个.dll
版本的perl.exe
,perl程序及其所需的所有模块以及一个漂亮的小存根,将其全部解压缩到临时目录中。跑吧。这些都没有改变这个存根仍然是Windows可执行文件的事实。