【发布时间】:2020-06-23 10:42:52
【问题描述】:
我有执行另一个脚本的 Perl 脚本。如何确保在执行CONNECTION.pl 时,我将捕获STDERR 和STDOUT,以便将其放入父脚本中的日志中?下面是父脚本中的代码:
my $systemcmd ='perl bin/CONNECTION.pl "'.$expanded_sql.'" "'.$tmp_file.'" "'.$fetch.'"';
eval {
my $rc = system($systemcmd );
};
if ($@) {
$errmsg = $@;
croak {message=>$errmsg};
unlink $tmp_file;
}
【问题讨论】:
-
system不会抛出异常(除非您替换它,例如使用 autodie),因此eval不会做太多事情
标签: shell perl stdout system-calls stderr