我想制作一个快速脚本,如果给出文件,则写入文件,如果没有给出文件,则写入stdout。如果我可以通过将一个新的文件句柄OUTFILE指向适当的文件句柄来启动脚本,那么我会更容易做到这一点。如何在Perl中将文件句柄指向STDOUT(或另一个文件句柄)?
我知道我可以通过在适当的时候将STDOUT指向我的输出文件来完成我想要的操作,但是我宁愿不这样做,因为我不想再混淆以后使用脚本的任何人,并想知道为什么他们的打印语句不工作。另外,我仍然希望自己偶尔使用打印语句来进行故障排除,并且不希望将此打印输出到输出文件。
的这一切说,我要找的是沿着线的东西:
open(OUTFILE, ($output ? ">$output" : STDOUT);
除了不起作用。
想法?
'...} else {open($ fh,'>&'。fileno(STDOUT)); }' – mob 2011-06-09 19:59:30