http://www.perlmonks.org?node_id=978077


in reply to Is there a way more easy?

Some good old recursive programming:

my @a=('', 'a'..'z', 'A'..'Z', '_'); v("",3,\@a); sub v { my ($p,$n,$a)=@_; if ($n) { --$n; v($p.$_,$n,$a) foreach (@$a); } else { print $p,"\n" } }

s$$([},&%#}/&/]+}%&{})*;#$&&s&&$^X.($'^"%]=\&(|?*{%
+.+=%;.#_}\&"^"-+%*).}%:##%}={~=~:.")&e&&s""`$''`"e