in reply to DBI AoArefs dereference

You said:

I need the total row count before I proceed. I'm thinking this is faster than running SELECT COUNT first for the query, then iterating through the query again.

It might be fun and instructive to benchmark the alternatives -- that would certainly be better than guessing. (Hint: "select count" might not cost much, but it depends on whether the query involves difficult joins and conditions, requiring full scans of large tables.) In any case, I don't see how the OP code helps to get a row count, since it seems to stop counting at 10.

If the query result isn't outrageously large (i.e. fits in memory), you can just use DBI::fetchall_arrayref, get the count right away, and iterate through the rows too:

my $result_rows = $sth->fetchall_arrayref; if ( ref( $result_rows ne 'ARRAY' or @$result_rows == 0 ) { print "Oops! No data. Now what?\n"; } else { print "Yo! you got " . scalar( @$result_rows ) . " records:\n"; for my $row ( @$result_rows ) { print join( "\t", @$row ), "\n"; } }