my $data = [ { name => 'Oranges', order => 5 }, { name => 'Apples', order => 3 }, { name => 'Grapes', order => 7 }, { name => 'Pears', order => 4 }, ]; my @newdata = sort { $a->{order} <=> $b->{order} } @$data;