У меня возникли проблемы с сортировкой массива ссылок хэшей на основе значения в хеше, структура данных выглядит следующим образом:
my %usera = (name => 'tom',
weight=> 10);
my %userb = (name => 'harry',
weight=> 1);
my %userc = (name => 'peter',
weight=> 5);
my $users = [];
push(@$users,\%usera,\%userb,\%userc);
Я хочу отсортировать результаты по весу по убыванию, так что это вернулось бы в порядке «Том, Питер, Гарри», но мне не очень повезло. Я попытался:
for my $user (sort{ $users->[$a]{'Weight'} <=> $users->[$b]{'Weight'} } @$users){
.....
}
Что, как я думал, могло бы сработать, но любви здесь не было.
]Есть идеи?
TIA!