#!/usr/bin/perl -w
$log_file = "logfile";
open(STDOUT, "| tee $log_file") or die "Can't open: $!\n";
print "Testing 1.2.3...\n";
close(STDOUT) or die "Can't close: $!\n";
open(STDOUT,'>-');
print "done\n";
close(STDOUT);
####
#!/usr/bin/perl -w
$log_file = "logfile";
#copy file descriptor
open(OLDOUT,">&STDOUT");
open(STDOUT, "| tee $log_file") or die "Can't open: $!\n";
print "Testing 1.2.3...\n";
close(STDOUT) or die "Can't close: $!\n";
#restore STDOUT
open(STDOUT,">&OLDOUT");
print "done\n";
close(OLDOUT);
####
Testing 1.2.3... gets put into logfile and STDOUT
done gets put on STDOUT only