Печать в stdout и в файл одновременно [дубликат]

этот вопрос уже есть ответ здесь:

У меня есть скрипт Perl с несколькими операторами печати. Есть ли способ, которым я могу направить все эти операторы печати в файл, а также в stdout одновременно без дублирования операторов печати ?

1 ответов


можно использовать File:: Tee.

use File::Tee qw(tee);

tee STDOUT, '>>', 'some_file.out';

print "w00p w00p";

Если File::Tee недоступен, его легко смоделировать с помощью конвейера:

open my $tee, "|-", "tee some_file.out";
print $tee "w00p w00p";
close $tee;