my %saw; my @uniq = sort { $a->{num} cmp $b->{num} } grep { ! $saw{$_->{num}}++ } @{$data};