use strict; my %words; chomp(my @words = map(lc, )); @words{@words}=undef; my %anagrams; push @{$anagrams{join '', sort(split //, $_)}}, $_ for keys %words; @$_>1 && print join(",",@$_),"\n" for values %anagrams; __DATA__ and Stain satin Not Ton one