Anonymous Monk has asked for the wisdom of the Perl Monks concerning the following question:
Dear keepers of Perl knowledge,
I'm working with a quite complex data structure (I think it's a array of arrays of hashes) and I need sort the results before printing. I can access each element by using @Data[$_]{ID}, @Data[$_]{Score} and looping through the number of elements.
The issue lies in the fact that I need to sort by Score and then group the results of same IDs together based on the score of the top hit with a given ID. Example:
ID: AA Score: 20 ID: D Score: 30 ID: F Score 7 ID: AA Score: 3
The results should look like:
ID: D Score: 30 ID: AA Score: 20 ID: AA Score: 3 ID: F Score 7
I thought about creating additional, separate hash, sorting by score, printing the 1st one and looping looking for all other with same ID (I would need to delete everything I use in the process to avoid redundancies). I presume there must a more straight forward and elegant solution. Thanks for your help.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Sorting Complex Data Structure
by choroba (Cardinal) on Jan 21, 2014 at 13:27 UTC | |
by Anonymous Monk on Jan 21, 2014 at 14:30 UTC | |
|
Re: Sorting Complex Data Structure
by Corion (Patriarch) on Jan 21, 2014 at 13:20 UTC | |
|
Re: Sorting Complex Data Structure
by ww (Archbishop) on Jan 21, 2014 at 14:15 UTC | |
by derby (Abbot) on Jan 21, 2014 at 14:35 UTC | |
by Anonymous Monk on Jan 21, 2014 at 15:33 UTC | |
by Athanasius (Archbishop) on Jan 22, 2014 at 01:38 UTC |