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.