首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用perl将STDOUT打印到文件和STDOUT

使用perl将STDOUT打印到文件和STDOUT
EN

Stack Overflow用户
提问于 2015-09-25 19:58:02
回答 1查看 440关注 0票数 0

在其中一篇文章中,建议使用以下方法将STDOUT捕获到文件中,而不影响STDOUT (终端)的日志记录。

代码语言:javascript
复制
open my $tee, "|-", "tee E:/log.txt";

对于如下所示的序列:

代码语言:javascript
复制
print $tee "Log1\n";
print $tee "Log2\n";
my $input = <STDIN>;
print $tee "Log3\n";

除非我提供输入,否则我在终端上看不到任何消息。一旦我键入任何字符并按enter键,我就会看到日志如下所示

代码语言:javascript
复制
Log1
Log2
Log3

有没有办法让我得到前两个输出,然后等待输入,然后是第三个输出?

或者,有没有办法将STDOUT日志捕获到一个文件中,同时STDOUT日志也一直在终端上出现?

EN

回答 1

Stack Overflow用户

发布于 2015-09-25 20:02:50

使用以下命令将文件句柄设置为无缓冲输出

代码语言:javascript
复制
$old_fh = select($tee);
$| = 1;
select($old_fh);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32781715

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档