The difference is the type of queries, not how you call them. Update, delete, etc queries will all return a fixed number of rows they affected. Select queries will not as the database has no idea how many rows it affects until it has finished the statement. This is a basic database design issue, probably for optimization purposes. It's in the dbi docs last I checked.