Maybe I'm missing something ... but if you want to get the columns in a particular order, specify the columns in the order you want as part of the SELECT clause, and then use $dbh->selectrow_array() or $sth->fetchrow_array() to retrieve the results.
Comment on Re: Maintaining column name and column order using DBI
I need to use the column name, column value pair later in my script. Using an array won't keep the column name associated with the value, which won't do me any good.
I need the column name to be associated with the column value and I need the data order to stay in the same order as they appear in the table.
"Recognizing who we aren't is only the first step toward knowing who we are." - Os Guinness