http://qs1969.pair.com?node_id=512942

Anonymous Monk has asked for the wisdom of the Perl Monks concerning the following question:

Hi,

Here is what I am trying to do.

Read the CSV (excel sheet saved as a comma separated file) file into a perl data structure (either hash of array OR array of arrays). And sort based on one of the columns. When this is done, I want the rest of the columns too to be re-ordered based on the sorted column. That is the columns of a row must remain same.

For eg: This is the CSV file.
Name,Score,State
Mike,67,CA
Rob,63,FL
Jim,72,IL
Chan,32,AZ

When this is read into a perl data structure, and suppose I sort the column for Score in ascending order, I want the rest of the fields corresponding to the column to be re-ordered. So the result should be

Chan,32,AZ
Rob,63,FL
Mike,67,CA
Jim,72,IL

1. What data structure is best suited for above?
2. And how to achieve the above?

Thanks in advance.