in reply to DBI: Better way to find number of rows in a table?

Sounds to me like you are only going to run this script one time. Once you get your list, you move on, throw this one away. If that's the case, then who cares how you got the list, as long as the list is correct? I do appreciate wanting to find a better way of doing something, but sometimes you should just move on.

Off the top of my head, however, i would try to utilize map or grep. Sometimes they are more elegant when it comes to populating a list with data. Also, the select* functions from DBI allow you to combine prepare, execute, and fetch functions into one call. Something like:

my @empty = grep { $dbh->selectcol_arrayref("select count(*) from $_")->[0] == 0 } $dbh->tables;
might suffice ... dunno about performance, but then again, if you only run this once and the amount of time it takes to execute is acceptable, why change it? ;)

UPDATE:
changed to $dbh->tables per gmax's suggestion, but now it looks just like Zaxo's!! :D (i orginally used @{ $dbh->selectcol_arrayref("show tables") })

jeffa

L-LL-L--L-LL-L--L-LL-L--
-R--R-RR-R--R-RR-R--R-RR
B--B--B--B--B--B--B--B--
H---H---H---H---H---H---
(the triplet paradiddle with high-hat)