use warnings; my $logfilename = "./log"; { use IO::Tee; open my $log, ">", $logfilename or die "error opening log: $!"; *STDOUT = (IO::Tee->new(*STDOUT{IO}, $log) or die "error making tee: $!") } print "This is both written to stdout and a logfile\n";