my @uniques = (); my $md5; while (my $string = ) { $md5 = md5hex $string; if (grep { $md5 eq $_ } @uniques) { warn "$string is not unique\n"; # or push() into another list... } else { push @uniques, $md5; } } # Now @unique contains the list of unique strings