perl中怎么让想输出的内容既输出到终端也写入文件

 我来答
硪丨暧恋
2017-01-04 · TA获得超过8980个赞
知道大有可为答主
回答量:5336
采纳率:93%
帮助的人:2193万
展开全部
仅供参考:
tee("aa.out","bb.out");

print "anything you want\n";
print "other things";

close(STDOUT) || die "can't close STDOUT: $!";
sub tee {
my @output = @_;
my @handles = ();
for my $path (@output) {
my $fh; # open will fill this in
unless (open ($fh, ">", $path)) {
warn "cannot write to $path: $!";
next;
}
push @handles, $fh;
}

# reopen STDOUT in parent and return
return if my $pid = open(STDOUT, "|-");
die "cannot fork: $!" unless defined $pid;
# process STDIN in child
push @handles,STDOUT;
while (<STDIN>) {
for my $fh (@handles) {
print $fh $_ || die "tee output failed: $!";
}
}
for my $fh (@handles) {
close($fh) || die "tee closing failed: $!";
}
exit; # don't let the child return to main!
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式