my $csv = Text::CSV->new ({ binary => 1, auto_diag => 1, eol => $/ }); open my $fh, ">:encoding(utf8)", $filename or die "$filename: $!"; $sth = $dbh->prepare("$query") or error($q, "Problem with database call"); if($sth->execute) { while(@dat = $sth->fetchrow) { $csv->print($fh, \@dat); }