my @items = ( ... ); my %count; $count{$_}++ for @items; # presuming at least one item in @items: my ($winner, $winner_count) = each %count; while (my ($maybe, $maybe_count) = each %count) { if ($maybe_count > $winner_count) { $winner = $maybe; $winner_count = $maybe_count; } }