in reply to capturing duplicates

Just have two passes. One to get the counts, one to filter.
chomp(my @names = <DATA>); my %seen; foreach (@names) { $seen{$_}++; } @names = grep {1 < $seen{$_}} @names;