问题
I have a Perl script with several print statements. Is there a way by which I can direct all of these print statements to a file as well as to stdout simultaneously without duplicating print statements ?
回答1:
You can use File::Tee.
use File::Tee qw(tee);
tee STDOUT, '>>', 'some_file.out';
print "w00p w00p";
If File::Tee is unavailable, it is easily simulated with a pipeline:
open my $tee, "|-", "tee some_file.out";
print $tee "w00p w00p";
close $tee;
来源:https://stackoverflow.com/questions/16652836/printing-to-stdout-and-file-simultaneously