我正在一个用户可以传递-o文件选项的程序中工作,然后应该将输出定向到该文件.否则,它应该去stdout.
要检索选项,我正在使用模块getopt long,这不是问题.问题是我想用该文件创建一个文件句柄,或者如果未设置该选项则为其分配标准输出.
if ($opt) { open OUTPUT,">",$file; } else { open OUTPUT,# ??? }
那是因为这样,以后在我的代码中我可以:
print OUTPUT "...";
解决方法
这将是如何使用
select的一个很好的例子.
use strict; use warnings; use autodie; my $fh; if ($opt) { open $fh,'>',$file; select $fh; } print "This goes to the file if $opt is defined,otherwise to STDOUT."