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


in reply to Trying to learn something about obfuscation

In addition to the direction provided by Mr. Muskrat above, I would also point you to assistance which the perl compiler itself can provide when deciphering obfuscated code. For example, using the Deparse backend, a parsed version of the code can be generated which is invariably much more readable:

rob@kathmandu:~$ perl -MO=Deparse -e 'die$;!~y//.-~/c.$;.([$^=~/./g]&~ +$").$&.($;&{}).$/' die !($; =~ tr//.-~/c) . $; . ([$^ =~ /./g] & ~$") . $& . ($; & {}) . +$/; -e syntax OK

Note though that some code can be written to deliberately not be able to be parsed in this manner. The joy of obfuscation.

 

perl -le 'print+unpack("N",pack("B32","00000000000000000000001000101011"))'