my %min = do{ local %_ = %unique_descriptive; %{$_{shift @{[ sort{ $_{$a}->{count} <=> $_{$b}->{count} || $b <=> $a} keys %_ ]}}}; }; dump_ref(\%min,'%min'); __OUTPUT__ %min = { 'count' => 1, 'values' => [40] }