in reply to
perl DBI help
I have to agree with swiftone on this... The call to $sth->finish is troublesome. It basically will stop your fetch immediately. According to the perldoc's, finish is rarely used, and then only when you expect the statement to be destroyed or re-executed. By including it in your loop, you are trying to fetch using a destroyed (finished) statement.
I tested your code (against an Oracle DB...) and it works when I remove the $sth->finish call entirely.