Perl 如何使用Term::Screen打印到STDERR?

Perl 如何使用Term::Screen打印到STDERR?,perl,printing,terminal,screen,stderr,Perl,Printing,Terminal,Screen,Stderr,我想在这里打印粗体的嗨至STDERR。这有可能吗 Term::Screen查看其源代码,硬编码为写入*STDOUT 例如,在源代码中,您正在调用的{}处的sub具有以下内容: $this->term()->Tgoto('cm',$c,$r,*STDOUT) 因此,您需要显式地将所有STDOUT重定向到STDERR: open(my $backup_stdout, ">&STDOUT"); close(STDOUT); open(STDOUT, ">&STDERR");

我想在这里打印粗体的
STDERR
。这有可能吗


Term::Screen查看其源代码,硬编码为写入
*STDOUT

例如,在源代码中,您正在调用的{}
处的
sub具有以下内容:

$this->term()->Tgoto('cm',$c,$r,*STDOUT)

因此,您需要显式地将所有STDOUT重定向到STDERR:

open(my $backup_stdout, ">&STDOUT");
close(STDOUT);
open(STDOUT, ">&STDERR"); # This affects ALL of spawned child processes!
# *STDOUT = *STDERR; # This does the same but ONLY affects your process

Term::Screen查看其源代码,硬编码为写入
*STDOUT

例如,在源代码中,您正在调用的{}
处的
sub具有以下内容:

$this->term()->Tgoto('cm',$c,$r,*STDOUT)

因此,您需要显式地将所有STDOUT重定向到STDERR:

open(my $backup_stdout, ">&STDOUT");
close(STDOUT);
open(STDOUT, ">&STDERR"); # This affects ALL of spawned child processes!
# *STDOUT = *STDERR; # This does the same but ONLY affects your process

你能解释一下这有什么用吗?我很难看出您想用它做什么。我想这样做(从
IO::Interactive
文档中):“您还可以传递Interactive可写文件句柄,在这种情况下,如果它连接到终端,它会写入该文件句柄(而不是写入到*STDOUT)。同样,通常的怀疑是*STDERR:”你能解释一下这有什么用吗?我很难看出您想用它做什么。我想这样做(从
IO::Interactive
文档中):“您还可以传递Interactive可写文件句柄,在这种情况下,如果它连接到终端,它会写入该文件句柄(而不是写入到*STDOUT)。同样,通常的怀疑是*STDERR:”