我尝试运行简单的脚本
use IPC::Run qw (run timeout);
run "date", \$in, \$out, \$err, timeout( 10 ) or die "err: $?";
print "Date is $out \n";
但它失败并出现错误:
Unexpected SCALAR(0x1e52f80) in harness() parameter 3 at t.pl line 2
Unexpected SCALAR(0x1e52f08) in harness() parameter 4 at t.pl line 2
我使用 perl v5.14 和 v5.10,尝试不同的服务器。过程 IPC::Run::harness(由“run”命令使用)通过大“if”语句解析循环中的所有传入参数。但是在这个语句中没有 sclar values 的规则,所以 \$out 打破了这个命令。