$format1 = "Aa!Zz!zZ!"; $format2 = "Aa!zZ!Zz!"; $code = ' $unused = q="=; $data = qq{ \44format1 = \42$format1\42; \44format2 = \42$format2\42; \44code = \47$code\47; eval \44code; }; $data =~ s/\s//gs; $i = 0; print(map { ($l = $_ % 32) && $_ > 92 ? substr($data, ($i += $l) - $l, $l) : chr($_ > 63 ? 32 : 10) x $l } unpack (q{C*}, $format1)); $unused = " data = %{ \44format1 = \42#{$format1}\42; \44format2 = \42#{$format2}\42; \44code = \47#{$code}\47; eval \44code; }.gsub(/\s/, %{}) i = 0 $format2.each_byte{|c| l = c % 32 print(c > 95 ? data[(i += l) - l, l] : (c > 63 ? 32 : 10).chr * l) } #"; '; eval $code;