On Thu, Oct 20, 2005 at 04:57:24PM -0500, [EMAIL PROTECTED] wrote: > Script is below all this, and it is being performed on RHEL V3. The garbled > field is a SHA1 blob computed from the > FULLDATE,HOSTNAME,FACILITY,PRIORITY,MESSAGE fields. > > With the DBI commands commented out of this script I get what I'm expecting. > > INSERT INTO message(FULLDATE,HOSTNAME,FACILITY,PRIORITY,MESSAGE,SHA1) > VALUES('2005-Oct-19 15:44:54','pkitest.wellsfargo.com','auth > ','info','sshd(pam_unix)[8549]: session closed for user > root','~MCà}M~DIB·~Nc^C4¼£¸^V¨~Wû'); > > With the DBI commands not commented out I get the following: > > INSERT INTO message(FULLDATE,HOSTNAME,FACILITY,PRIORITY,MESSAGE,SHA1) > VALUES('2005-Oct-19 15:44:54','pkitest.wellsfargo.com','auth > ','info','sshd(pam_unix)[8549]: session closed for user > root','~MCà}M~DIB·~Nc^C4¼£¸^V¨~Wû > '); > > And "od -cx /spooldir/tmp/LOGFILE" shows a "\n" is inserted at the end of my > SHA1 blob causing this insert statement to fail.
> $digest = "'" . sha1($_) . "'"; > @sql_data = split /[|]/, $_; > @sql = > ($sql_data[0],$sql_data[1],$sql_data[2],$sql_data[3],$sql_data[4],$digest); > > $sql_insert = "INSERT INTO > message(FULLDATE,HOSTNAME,FACILITY,PRIORITY,MESSAGE,SHA1) VALUES(" . $sql[0] > . "," . $sql[1] . "," . $sql[2] . "," . $sql[3] . "," . $sql[4] . "," . > $sql[5] . ");"; This implies that sha1() is returning a string with a newline appended. I can't see how the sha1 code could so that. Please reduce the script down to the *absolute smallest*[1] script that demonstrates the problem. In doing that you'll either uncover the problem or make it much easier for someone else to do so. Tim. [1] Ideally ending up with just a few lines, no reading of external files, no loop, no arrays, etc. etc.