use Sybase::DBlib; use FileHandle; my $dbh = new Sybase::DBlib 'lthomas', 'lthomas', 'HKT_ERCC'; ###################### # I'm not familiar with Sybase, but can you prepare the dbh query? # That would clean up the following section ###################### $dbh->dbuse('er_cc'); $dbh->dbcmd("exec sp_client_csv \"$month1\",\"$FORM{'cboDay1'}\",\"$FORM{'cboYear1'}\",\"$month2\",\"$FORM{'cboDay2'}\",\"$FORM{'cboYear2'}\""); $dbh->dbsqlexec; $dbh->dbresults; open (FILE, ">client.csv") or die ("Couldn't open output file to write: $!"); ##################### # FYI your original post has a semi-colon after the while statement and before the '{'. # Is that in your real code? ##################### while (@xgdat = $dbh->dbnextrow(1)) { print FILE join (',', @xgdat), "\n"; } close FILE or die ("Couldn't close output file: $!");