my @d = qw(AAA30 BBC5 SHT12H DAL33B BBC49 AAA31 DAL33A BBC6 SHT12G BBC50); my %seen; map { print "$seen{$_},$_\n" if $seen{$_}; } map { my $v = $_; my $l = chop $v; $seen{$v.++$l}=$_; } @d;