in reply to Anagrams & Letter Banks

use of a utility module List::MoreUtils allows you to write code, for your first question, that looks much like your specification.
use strict; use warnings; use List::MoreUtils qw(any); my @strings = qw(abcd abbd efgh); print @strings if any {/(\w)\1/} @strings;
Bill