my $gfh = *STDOUT; my $geh = *STDERR; foreach my $outfile (@logs) { local *STDOUT; local *STDERR; tie *STDOUT, 'InstallerHandleTie', $outfile, $gfh; tie *STDERR, 'InstallerHandleTie', $outfile, $geh; print "Writing to $outfile\n"; warn "Writing warning to $outfile\n"; untie *STDOUT; untie *STDERR; }