У меня возникают проблемы при попытке отсортировать массив хэшей на основе значения в хэше, структура данных выглядит следующим образом:
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!