运行`$ exec`语句后,Perl程序生成自己程序的多个副本

时间:2014-05-22 05:32:00

标签: perl

在Windows 7的perl程序中,我看到了一些奇怪的行为。

在代码中,我使用以下代码调用psftp.exe: -

$exec = "psftp .....";
@run = `$exec` ;

但是如果缺少psftp.exe,那么我看到一些非常奇怪的东西,我没有解释。

我看到perl程序产生了多个运行他们自己的perl程序版本的perl.exe进程。

这有什么理由吗?

感谢。

1 个答案:

答案 0 :(得分:0)

如果您想捕获输出并检查$,请使用反引号?确保它正确执行。

my $cmd = "psftp .....";
my @run = `$cmd` ;
### non zero exit code 
if ($?){ 
  die "$cmd failed with $? exitstatus";
}