in reply to sorting CSV files

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