in reply to DBI multiple prepares

I think having multiple prepare statement is the loop are getting confused?
Well, the whole point of preparing a statement is so that it can get precompiled and you can then simply execute against it with new values. It would be better to prepare your other statement outside the loop as well, using a second statement handle:
print "Selecting.... \n"; $sth=$dbh->prepare("SELECT name,address_number from many_address WHERE name=? AND number=? AND street=? "); $sth_2=$dbh->prepare("UPDATE many_address SET name=NULL, date_loaded=NULL WHERE name=? AND number=? AND street=? "); while ($_=<PA>) { ($name,$add,$street)=split(/\|/,$_); chomp ($name,$add,$street); $name = '' unless defined $name; $sth->execute($name,$add,$street); #$rec=$sth->dump_results(); ### see results @rec = $sth->fetchrow_array(); if (@rec) { ### check to see if @res is valued print "$name $add,$street --> @rec. \n"; $sth_2->execute($name,$add,$street); print "Clearing $name,$add,$street -->@rec \n"; } else { print " Not available -->@rec is \n"; } } close(PA);
I was thinking of collecting all the @rec values into another array - the looping through it later - outside them main loop. But can you push an array on to another array.
You can:
push @array, @more_data;
But I think you would rather put array references like this:
push @array, \@more_data;

Also, be sure to ask your questions on the DBI mailing lists. A link to them is listed at DBI.perl.org which I happen to webmaster :).