In light of
BooK's semi-challenge in the chatterbox, I give you an obfuscation that
evals eight levels deep. Have fun!
#!/usr/bin/perl
use constant LEVELS => 8;
$\ = "\n"; $_ = ('eval ' x LEVELS) . '\'e()\''; print eval;
sub e()
{
<<'Z';
my ($qw, $my) = qw(my qw);
my (%sub);
$sub{a} = sub {
"\$; = join \$,, map { \"\\\$\$_,\" } (\'$_[0]\'..\'$_[1]\');" };
$sub{b} = sub {
"\$z{$_[0]} = \"\$qw (\$;) =\";" };
$sub{c} = sub {
"\$; = join \' \', $my/$_[0]/;" };
$sub{d} = sub {
"\$z{$_[0]} = \"\$$qw (\$;) ;\";" };
$sub{e} = sub {
"\$z{$_[0]} .= (join \"\\\$\", ($_[1]));" };
$sub{f} = sub {
"\$z{$_[0]} .= \"$_[1]\";" };
join ";\n", "$qw (\$$my, \$$qw) = $my($qw $my);", "$qw %z;", "local \$
+;;",
$sub{a}->('a', 'm'), $sub{b}->('1'), $sub{a}->('n', 'z'), $sub{b}->('3
+'),
$sub{c}->('e s i t v l r $ _ [ ] 0 .'), $sub{d}->('2'),
$sub{c}->('; - > \' , " \' { } ( ) u b'), $sub{d}->('4'),
'$z{5} = "<<E;"; $z{6} = \'\';', $sub{e}->(6,
'undef, qw|w b y z u s h i j l k|'),
$sub{f}->(6, "\\\\\\\\\\\\\\\'\\\\\\\$\_\[1\]\\\\\\\$\\\_\\\$\\\{j\}2"
+),
$sub{e}->(6, 'undef, \'k\', \'h\', \'i\', undef'),
$sub{f}->(6, "\\\{j\\\}1"), $sub{e}->(6, 'undef, \'k\', \'s\', \'m\'')
+,
'$z{6} .= "(rev"', $sub{e}->(6, 'undef, \'a\', \'g\', qw/b a h/'),
$sub{f}->(6, "\\\\\\\_\\\[\\\$l\\\]"), '$z{7} = \'\'',
$sub{e}->(7, 'undef, qw:x m:'),
$sub{f}->(7, "\\\\\\\"\\\\\\\\\\\\\\\'\\\$n\\\\\\\"\\\\\\\}\\\\\\\)\\\
+$o\\\$p(\\\$q\\\$\\\{b\\\}calar "),
$sub{e}->(7, 'undef, \'g\', undef'), $sub{f}->(7, '{a}verse '),
$sub{e}->(7, 'undef, qw/t r t n s q r/, undef'), $sub{f}->(7, '{t} sca
+lar \$'),
'$z{8} = \'\';', $sub{f}->(8,'{f}oca'), $sub{e}->(8, 'undef, qw/f d/,
+undef'),
$sub{f}->(8, "\{c\}m\\\$a\\\\\\\'\);"), '$z{9} = \'E\';',
"join \"\\n\", map { \$z\{\$\_\} \} (1..9);";
Z
}