$page = 0; $data = q! @template = (("X" x (500)) . "\n", "\n\n" . ("X" x (500)) . "\n"); $data = '$page = ' . ($page ^ 1) . '; use' . chr(32) . 'Compress::Zlib; ' . '$data = "' . $data . '";' . '($decoded = $data) =~ s/[\s.*]//gs; eval $decoded;'; @i = unpack 'C*', $data; foreach $x (unpack 'C*', $template[$page]) { $x = chr($x); print ($x =~ /[\s.*]/ ? $x : chr(shift @i)); } !; ($decoded = $data) =~ s/[\s]//gs; eval $decoded;