my %seen; open(FILE, '<', 'file.txt') or die "Unable to open file.txt for reading, $!"; while () { chomp; tr/0-9//cd; if (length $_ >=7 && length $_ <= 10) { $_ = sprintf("%010s", $_); $_ =~ s/(\d{3})(\d{3})(\d{4})/$1-$2-$3/; $seen{$_}++; }