sorted([w.strip() for w in open('/usr/share/dict/words', 'r').readlines() if set(list('abcdef')).issubset(set(list(w.strip())))], key=lambda x: len(x)) #### open$:,"){next unless/(?=.*a)(?=.*b)(?=.*c)(?=.*d)(?=.*e)(?=.*f)/i;push@_,$_}@_=sort{length$a<=>length$b}@_' #### open$:,"){next unless/(?=.*a)(?=.*b)(?=.*c)(?=.*d)(?=.*e)(?=.*f)/i;push@_,$_}print for sort{length$a<=>length$b}@_ #### open$:,"){next unless/(?=.*a)(?=.*b)(?=.*c)(?=.*d)(?=.*e)(?=.*f)/i;push@_,$_}for(sort{length$a<=>length$b}@_){print;last} #### #!/usr/bin/perl -lw use strict; my $PERL = <<'PERL'; open$:,"){next unless/(?=.*a)(?=.*b)(?=.*c)(?= .*d)(?=.*e)(?=.*f)/i;push@_,$_}@_=sort{length$a<=>length$b}@_' PERL { no strict; $JUNK = <