http://qs321.pair.com?node_id=169553


The Obfuscated Code section contains some interesting code. The problem is that without working your way through the code it is difficult to decide if it is any good or not. This is probably why obfuscated code which is formatted into a recognisable shape often get more votes than visually mundane but superior code.*

However, it is unlikely that anyone has the time to work through all of the code posted in Obfuscated Code in order to determine the quality. Therefore, it would be nice if people took it upon themselves to take an occasional submission and deobfuscate it.

Apart from the benefits to the community at large deobfuscation is a good way to learn some of the more idiomatic or obscure features of Perl.

Perltidy or the indent-region function in emacs can be helpful in unearthing hidden code structures. And since perl is blind to obfuscation B::Deparse can be useful for clarifying code segments.

However, if the obfuscation is good these tools will be of limited use. I once used Perltidy and emacs to massage Dominus's obfu into a readable shape. It didn't help. While the overall structure was visible the mechanism was still deeply hidden.

As an introduction to the subject of obfuscation and JAPHs have a look at Teodor Zlatanov's The elegance of JAPH or Abigail's JAPHs and other obscure signatures.

So learn a little bit more about Perl while gaining XP and the respect of your peers. Deobfuscate today.

--
John.

* This is not to say that some of the superior code isn't formatted as well.