As soon as I read that I wanted to know why. So I looked it up. Here is a bit more context:
For select statements it is generally not possible to know how many rows will be returned except by fetching them all. Some drivers will return the number of rows the application has fetched so far but others may return -1 until all rows have been fetched. So, use of the rows method, or $DBI::rows, with select statements is not recommended.