Depending on how flexible you need this to be, you might consider using an array of hash references, such that each row would be represented as a reference to an associative array with the column names as keys. Then you could sort the array of rows according to a particular key with a comparison subroutine:
foreach my $this_record (sort byname @record_set) {
# do something
}
sub byname {
$a->{'NAME'} cmp $b->{'NAME'}
}
See pages 789-793 of
Programming Perl (3rd Edition)
No good deed goes unpunished. -- (attributed to) Oscar Wilde