在Perl中是否有 simple way 将STDOUT或STDERR发送到多个地方而不使用File :: Tee或打开管道到/ usr / bin / tee?
当然有一种方法可以在 pure perl 中执行此操作而无需编写20行代码,对吧?我错过了什么?在SO和其他地方都提出了类似的问题,但没有一个答案符合我不必要的要求
-
前叉
-
使用File :: Tee / IO :: Tee /一些其他模块依赖项,其代码足迹比我的实际脚本大1000倍
-
打开实际tee命令的管道
我可以在这里看到使用Core模块作为权衡,但真的需要吗?
1 回答
看起来我可以简单地这样做:
这简单而有效地将大多数错误消息发送到原始STDERR和一个日志文件(显然被困在eval中的东西没有被告知) . 因此,评论中提到了这方面的缺点 . 但正如原始问题所述,需求是具体的 . 这不是一个简单的小脚本,它永远不会超过100行 .
如果您正在寻找一种不是"hack"的方法,则以下内容改编自http://grokbase.com/t/perl/beginners/096pcz62bk/redirecting-stderr-with-io-tee