加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

perl – 有没有办法将子程序的打印输出捕获到变量,所以我可以将

发布时间:2020-12-15 21:38:48 所属栏目:大数据 来源:网络整理
导读:假设我们有: sub test { print "testingn";} 如果有一种情况我想让它打印到stderr而不是stdout,有没有办法我可以调用子程序来做这个?或者我可以将输出捕获到变量然后使用警告?我对perl很新. 解决方法 就在这里. print将其输出发送到“selected”文件句柄
假设我们有:
sub test {
        print "testingn";
}

如果有一种情况我想让它打印到stderr而不是stdout,有没有办法我可以调用子程序来做这个?或者我可以将输出捕获到变量然后使用警告?我对perl很新.

解决方法

就在这里. print将其输出发送到“selected”文件句柄,通常是STDOUT.但是Perl提供了 select功能供您更改.
select(STDERR);
&test;           # send output to STDERR
select(STDOUT);  # restore default output handle

select函数返回先前选择的文件句柄,因此您可以捕获它并在以后恢复它.

my $orig_select = select(STDERR);
&test;
select($orig_select);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读