如何使用perl运行可执行文件?
例如,我想运行一个普通的notepad.exe.我怎么能实现这个目标?
这就是我所拥有的:
my @args = system("notepad.exe");
system(@args) == 0 or die "system @args failed: $?";
Run Code Online (Sandbox Code Playgroud)
但它返回:
Can't spawn "cmd.exe": No such file or directory blah blah blah.
我错过了什么?
你的代码似乎有点困惑.您可能想要的是类似的东西
my $cmd = "notepad.exe";
my @args = ($cmd, "readme.txt");
system(@args);
if($? == -1) {
die "system @args failed: $?";
}
Run Code Online (Sandbox Code Playgroud)
system
返回单个值,而不是数组.有关perldoc -f system
详细说明,请参阅.
perlmonks上的这个主题讨论了你提出的一些不同解决方案所带来的错误.
这个答案是我原来评论的延伸.对不起,如果这是多余的.