# assuming that the csv file has been opened and read into @CSV_FILE $dbh = DBI->connect("DBI:mysql:DBname","$un","$pw") or Terminate("Sorry, Disconnecting: $DBI::errstr"); my %sql = ( get => "SELECT id, lastname, firstname, ssn FROM member". " WHERE UPPER(lastname) = ? AND UPPER(firstname) = ?", ins => "INSERT DELAYED INTO reports (lastname, firstname, title, ID)". " VALUES (?,?,?,?)", upd => "UPDATE LOW_PRIORITY member SET working = 'Y'". " WHERE ID = ? LIMIT 1", ); my %sth; $sth{$_} = $dbh->prepare( $sql{$_} ) for ( keys %sql ); for my $csv_row(@CSV_File) { my ($FN, $LN, $SSN, $Title) = @$csv_row; $sth{get}->execute( $LN, $FN ); my $member_rows = $sth{get}->fetchall_arrayref(); for my $db_row ( @$member_rows ) { my ( $id, $ln, $fn, $sn ) = @$db_row; if ($SSN eq $sn) { $sth{ins}->execute( $ln, $fn, $Title, $id ); $sth{upd}->execute( $id ); &LogEvent("Success"); } } } #### get => "SELECT id FROM member where". " ssn = ? and UPPER(lastname) = ? AND UPPER(firstname) = ?",