用[3]数值对Hash of Arrays进行排序的最简单方法是什么?
例如......我想从最大值到最小值对值为6125,1686,700的散列进行排序.我最初虽然把这些值作为键,但其中一些数字在其他数组中是相同的.
'12' => [
'+',
'ATGGTTTTCTTCTCTCCTTCCCTCTCCAGCCTGCTGTATAAGTAA',
'MGLGLAPSWPSLLTSSYPECVPYLFSHLLPPTTQPYPFSPSLSSLLYK*',
6125
],
'41' => [
'+',
'ATGGGAGTTTACTGTGATGACTTGAGGACAGAGGGACTCTAG',
'MGVYCDDLRTEGL*',
1686
],
'16' => [
'+',
'ATGGGAGTTTACTGTGATGACTTGAGGACAGAGGGACTCTAG',
'MGVYCDDLRTEGL*',
700
]
Run Code Online (Sandbox Code Playgroud)
只需使用sort块对键进行排序
my @sorted_keys = sort { $data{$b}[3] <=> $data{$a}[3] } keys %data;
Run Code Online (Sandbox Code Playgroud)