#!/usr/bin/perl -w use strict; use diagnostics; use Data::Dumper; my %hash = ( key1 => 'value1', key2 => 'value2', key3 => 'value3', key3 => 'value3', key3 => 'value3', key1 => 'value3', key1 => 'value33', key1 => 'value3', key1 => 'value3', key2 => 'value3', key2 => 'value3', key2 => 'value3', key4 => 'value3', key4 => '23232', key5 => '23232', key6 => '23232', key6 => '23232', ); my %hist; foreach (sort keys %hash) { $hist{$_}++; } print Dumper(%hist); __END__ foreach (sort keys %hist) { print "$_ => $hist{$_}\n"; } $VAR1 = 'key5'; $VAR2 = 1; $VAR3 = 'key2'; $VAR4 = 1; $VAR5 = 'key6'; $VAR6 = 1; $VAR7 = 'key4'; $VAR8 = 1; $VAR9 = 'key1'; $VAR10 = 1; $VAR11 = 'key3'; $VAR12 = 1;