$sth_mlg_addr_duplicate_check->execute($fields[17],$fields[18],$fields[19],$fields[20],$fields[21],$fields[22],$fields[23]) or warn "While checking for duplicate mailing address $fields[17]; $fields[19] $fields[20]: " . $dbh->errstr; ($mlg_addr_id) = $sth_mlg_addr_duplicate_check->fetchrow_array(); my $mlg_id; if(!defined($mlg_addr_id) && length($fields[20]) == 2){ $sth_insert_mlg_addr->execute($fields[17],$fields[18],$fields[19],$fields[20],$fields[21],$fields[22],$fields[23]) or warn "While inserting new mailing address |$fields[17]|; |$fields[19]| |$fields[20]|, with id |$mlg_addr_id|: " . $dbh->errstr; $sth_mlg_addr_duplicate_check->execute($fields[17],$fields[18],$fields[19],$fields[20],$fields[21],$fields[22],$fields[23]) or warn "While checking for duplicate mailing address |$fields[17]|; |$fields[19]| |$fields[20]|: " . $dbh->errstr; ($mlg_addr_id) = $sth_mlg_addr_duplicate_check->fetchrow_array(); $mlg_id = $mlg_addr_id; } else { $mlg_id = $mlg_addr_id; # print STDERR "\$mlg_addr_id is already defined as $mlg_addr_id.\n"; } #### Use of uninitialized value in concatenation (.) or string at parse_voter_list.pl line 251, <$fh> line 3483. While inserting new mailing address |xxxx RUE LOUIS PHILLIPPE|; |MARRERO| |LA|, with id ||: ERROR: duplicate key violates unique constraint "mlg_addr_uniq_key" While checking for duplicate mailing address |xxxx RUE LOUIS PHILLIPPE|; |MARRERO| |LA|: ERROR: current transaction is aborted, commands ignored until end of transaction block While checking for duplicate residential address: ERROR: current transaction is aborted, commands ignored until end of transaction block Issuing rollback() for database handle being DESTROY'd without explicit disconnect(). #### =# SELECT * FROM mlg_addr WHERE address1 LIKE '%RUE LOUIS PHILLIPPE' AND city = 'MARRERO' AND state = 'LA'; mlg_addr_id | address1 | address2 | city | state | zipcode5 | zipcode4 | country -------------+----------+----------+------+-------+----------+----------+--------- (0 rows) #### my $mlg_addr_duplicate_check =<prepare($mlg_addr_duplicate_check) or die $dbh->errstr; my $insert_mlg_addr =<prepare($insert_mlg_addr) or die $dbh->errstr; #### =# \d mlg_addr Table "public.mlg_addr" Column | Type | Modifiers -------------+-----------------------+----------------------------------------------------------- mlg_addr_id | integer | not null default nextval(('mlg_addr_id'::text)::regclass) address1 | character varying(65) | address2 | character varying(65) | city | character varying(40) | state | character varying(2) | zipcode5 | character varying(5) | zipcode4 | character varying(4) | country | character varying(45) | Indexes: "mlg_addr_id_key" UNIQUE, btree (mlg_addr_id) "mlg_addr_uniq_key" UNIQUE, btree (country, zipcode5, zipcode4, address1, address2) #### address1 = $fields[17] address2 = $fields[18] city = $fields[19] state = $fields[20] zipcode5 = $fields[21] zipcode4 = $fields[22] country = $fields[13]