Perl Obfuscation is more of a game, per se, but perhaps there is something that can be learned from it. I'm stating this, simply enough, because I have yet to uncover any basic guides to the obfuscation techniques and/or thought processes employed on this forum.
I'd like to understand them. I can understand everyone's "regular" code, perfectly well, but I'm lost when it comes to reading "ugly" Perl code, pretty much because my brain doesn't want to overcome the pain threshold. I can see how writing some sort of interpreter would help in writing these obfuscations, but then the interpreter source is pretty darn obscure too, so that doesn't appear to be the route most folks take.
My question is this...would anyone like to provide a basic guide or a few short examples on obfuscation techniques, or otherwise unravel (section by section) a few sample obfuscations, or take some normal basic Hello World code and show a few obfuscations being applied? Possibly with a few contrasting techniques? I'm not doing this to enter the "obfuscation contests" on Perl Monks, I just think there is some really interesting/bizarre thought processes going on, and it's a shame if the obfuscations are posted without details.
Again, obfuscations have no value in commercial programs, in major projects, or even throwaway scripts...but I feel that I'm missing something essential without some basic ability to grok the evil dark corners of the Perl. I want to go there. Take me to the dark corners....
Also, random (and insane) question -- why isn't there any Lisp obfuscation? It seems writing an entire program out of nothing but parenthesis all on one line would have some EXCELLENT chances at giving us a run for our money. Sure, it would be longer, but probably even harder to grok.
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.
| & || & |
| < || < |
| > || > |
| [ || [ |
| ] || ] ||