perl sorting multidimensional-array data-structures perl-data-structures

Ordenando un hash de hashes de matriz de matrices en Perl



sorting multidimensional-array (1)

Intento adivinar lo que estás buscando porque no tienes claro lo que quieres.

for my $outher (values %hash) { for my $inner (values %$outher) { @$inner = sort {$a->[17] <=> $b->[17]} @$inner; } }

Hice un hash ( %locus ) para organizar mis datos, cuando lo imprimo con Data::Dumper muestra la estructura de datos:

''locus8 >9.2668516.276570.GABA3.1.54.6586237.218516.2718570 74280 74440 locus8'' => { ''3 70.75 0.995018 -1.89 -'' => [ [ ''window10'', ''locus8'', ''>9.2668516.2768570.GABA3.1.54.6586237.2718516.2718570'', ''74280'', ''74400'', ''-'', ''3'', ''120'', ''55.87'', ''-17.41'', ''-11.92'', ''-10.60'', ''-1.32'', ''1.57'', ''-1.58'', ''0.68'', ''2.76'', ''0.995018'' ], [ ''window11'', ''locus8'', ''>9.2668516.276570.GABA3.1.54.6586237.218516.2718570'', ''74320'', ''74440'', ''-'', ''3'', ''120'', ''70.75'', ''-22.97'', ''-17.28'', ''-15.07'', ''-2.21'', ''-1.89'', ''0.75'', ''1.95'', ''0.976184'' ] ] },

¿Cómo puedo ordenar las matrices internas por el último elemento en las matrices $_[17] ?

[ [ ''window11'', ''locus8'', ''>9.+.2668516.2768570.GABA3.1.54.6586237.2718516.2718570'', ''74320'', ''74440'', ''-'', ''3'', ''120'', ''70.75'', ''-22.97'', ''-17.28'', ''-15.07'', ''-2.21'', ''1.55'', ''-1.89'', ''0.75'', ''1.95'', ''0.976184'' ], [ ''window10'', ''locus8'', ''>9.+.2668516.2768570.GABA3.1.54.6586237.2718516.2718570'', ''74280'', ''74400'', ''-'', ''3'', ''120'', ''55.87'', ''-17.41'', ''-11.92'', ''-10.60'', ''-1.32'', ''1.57'', ''-1.58'', ''0.68'', ''2.76'', ''0.995018'' ], ]

Quiero mantener la estructura de datos pero, con los "arreglos internos" organizados. Gracias por adelantado.