my $_checkNo = 0; my $_checkAmt = 1; my $_emp_id = 2; my $_paydate = 3; my @fileparts = split(/\,/, $_line); # Get potid from pot(Pay Out Tracking) table my $_potid = $dbh->selectrow_array(qq{SELECT `potid` FROM `pot` WHERE `status` = "preissue" AND `amount` = ? AND `adpid` = ?}, undef, $fileparts[$_checkAmt], $fileparts[$_emp_id]); if(!$_potid) { # ok, the amount does not match any, so I'm sure they had more than one transaction.... Check for two: ($_potid,$_chkamt) = $dbh->selectrow_array(qq{SELECT `potid`,`amount` FROM `pot` WHERE `status` = "preissue" AND `adpid` = ?}, undef, $fileparts[$_emp_id]); if($_potid) { $_newChkAmt = sprintf('%.2f', $fileparts[$_checkAmt] - $_chkamt); $_potid2 = $dbh->selectrow_array(qq{SELECT `potid` FROM `pot` WHERE `status` = "preissue" AND `amount` = ? AND `adpid` = ?}, undef, $_newChkAmt, $fileparts[$_emp_id]); } if($_potid && $_potid2) { $inserted = $dbh->do(qq{UPDATE `pot` SET `status` = "issued", `checkno` = ?, `statuschanged` = ? WHERE (`potid` = ? OR `potid` = ?)}, undef, $fileparts[$_checkNo], $fileparts[$_paydate], $_potid, $_potid2); } if($inserted) { $_success++; } else { $_failed++; } }