动态更改STDOUT和STDERR重定向

Ωme*_*ega 4 perl

在Perl中,我使用标准命令进行打印:

print "text"; # STDOUT
print STDOUT "text";
print STDERR "text";
Run Code Online (Sandbox Code Playgroud)

我怎么能动态改变的重定向STDOUTSTDERR不同的文件?

比方说,我有一个简单的循环$i,从去$min$max,我要动态地改变重定向到文件"out_$n""err_$n"文件,其中$n = int($i/1000).

我不想更改现有的print命令,因此我正在寻找只需添加此重定向功能而无需更改现有代码的解决方案.

ike*_*ami 8

刚重新打开STDOUT

open(STDOUT, '>', $qfn)
Run Code Online (Sandbox Code Playgroud)