in reply to upper-lower case combinatorics
Neat trick, though it won't handle very long strings. (What's with the indentation btw?)
Here's a non-tricky solution:
use Set::CrossProduct; sub casify { my @letters = map [ uc $_, lc $_ ], split //, $_[ 0 ]; return( map join( '', @$_ ), Set::CrossProduct->new( \@letters )->combinations; ); }
:-) Of course, it runs much slower, in case that really is a concern…
Makeshifts last the longest.
|
|---|