假设我想用我的脚本运行一个带有反引号的外部程序,同时我想捕获STDOUT和STDERR但是在两个不同的变量中.我怎样才能做到这一点?如果我运行此脚本,请参阅…
my $cmd = `snmpwalk -v $version -c $community $hostname $oid`;
…如果没有错误,一切正常,但如果命令引发错误,这个错误将打印在命令行上,我不希望发生这种情况.我也想捕获错误.没有必要在屏幕上打印.有任何想法吗?
解决方法
在Perl FAQ中,根据您的进度,您有不同的选项:
http://perldoc.perl.org/perlfaq8.html#How-can-I-capture-STDERR-from-an-external-command%3f