我有一个perl脚本,我可以从命令行传递参数,它将输出结果。我试图捕捉这些结果:
$systemReturn = `$cmd`;
只有空字符串的响应。我知道这个文件输出一个多行字符串。显然,需要一种不同的方法来捕获它。有谁知道我会怎么做到这一点?
答案 0 :(得分:5)
该命令可能输出到stderr,而不是stdout。尝试
$systemReturn = `$cmd 2>&1`;
答案 1 :(得分:2)
我建议您查看Capture::Tiny或IO :: CaptureOutput。它使捕捉输出,拆分或加入STDOUT和STDERR变得更容易,更便携,检查是否成功,甚至是发球台。
答案 2 :(得分:0)
使用此
@systemReturn = `$cmd`;