# Create the TEE filehandle, which will print to both STDOUT and to a file open (TEE, "| tee $name") or die "Teeing off: $!\n"; select(TEE); # Now print goes to the TEE handle by default $| = 1; # unbuffer TEE my $stmt = $dbh->prepare("$sql") or die $DBI::errstr; # $sql takes 30-40 secs. to run $stmt->execute() or die $DBI::errstr; while (my @array = $stmt->fetchrow()) { print; } $stmt->finish(); select(STDOUT); &printfooter(); # prints a here-doc, about 10 lines close(STDOUT) or die "Error closing: $!\n";