2013-05-20 8 views
6

Ich habe ein Perl-Skript mit mehreren print-Anweisungen. Gibt es eine Möglichkeit, all diese Druckanweisungen in eine Datei zu leiten und gleichzeitig zu terminieren, ohne Druckanweisungen zu duplizieren?Drucken auf stdout und Datei gleichzeitig

Antwort

9

Sie können File::Tee verwenden.

use File::Tee qw(tee); 

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

print "w00p w00p"; 

Wenn File::Tee nicht verfügbar ist, wird es mit einer Pipeline leicht simuliert:

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

Caveat machinator - weder Lösung funktioniert unter Windows. –

Verwandte Themen