perl – 打开文件句柄或分配标准输出

前端之家收集整理的这篇文章主要介绍了perl – 打开文件句柄或分配标准输出前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在一个用户可以传递-o文件选项的程序中工作,然后应该将输出定向到该文件.否则,它应该去stdout.

要检索选项,我正在使用模块getopt long,这不是问题.问题是我想用该文件创建一个文件句柄,或者如果未设置该选项则为其分配标准输出.

if ($opt) {
    open OUTPUT,">",$file;
} else {
    open OUTPUT,# ???
}

那是因为这样,以后在我的代码中我可以:

print OUTPUT "...";

无需担心OUTPUT是stdout还是用户指定的文件.这可能吗?如果我在这里设计不好,请告诉我.

解决方法

这将是如何使用 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."

猜你在找的Perl相关文章