gpt4 book ai didi

shell - Perl 捕获子进程的 STDERR 和 STDOUT

转载 作者:行者123 更新时间:2023-12-01 06:59:36 25 4
gpt4 key购买 nike

我有正在执行另一个脚本的 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;
}

最佳答案

尝试使用 Capture::Tiny将调用包装到 system .

此外,将 Perl 脚本 CONNECTION.pl 更改为模块和 use 可能会更清晰它来自您的脚本,而不是再次调用 perl。

关于shell - Perl 捕获子进程的 STDERR 和 STDOUT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60636189/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com