After browsing through some of the obfuscated code of the mighty Erudil, I decided to try my hand at some obfuscation for the first time - The following is the result (set your code wrap tags to 85 to see the shaped effect):
 
#!/usr/bin/perl $_='$_=y( ((x($;))+((x( $;))+(x($;)))+(x($; )))).y(((x($;))+((x($;) )+(x($;)))+(x($;)))+(z(y(x( $")).y(x($"))))).y((x($"))+( x($"))+(x($"))+(x($"))-(x($;))+ (x($"))-(x($;))+(z(y(x($;))))).y( (((x($;))+(x($;)))+((x($;))+(x($;)))) +-(z (z(x($")).y(x($"))))).y((((x($;))+(x($ +;))) +((x($;))+(x($;))))+(z(y(x($")).y(x($")).y(x($")).y(x($ +")))) ).y(((x($")))).y(((x($"))+(z(y(x($;)).y(x($;)))))).y((((x($"))+(x +($"))) +(((x($"))-(x($;)))+((x($"))-(x($;)))))+(((x($"))-(x($;)))+((x($"))-(x +($;)))) +(z(y(x($;))))).y(((x($;))+(x($;)))+((x($;))+(x($")))+(z(y(x($;)))) ). +y(((x($; ))+(x($;)))+((x($;))+(x($;)))-(z(y(x($"))))).y((x($;))+(x($;))+(x($;) + )+(x( $;))+(z(y(x($")).y(x($")).y(x($")).y(x($"))))).y((x($"))+(x($"))+(x($" + ))+ (x($"))-(x($;))+(x($"))-(x($;))).y(((x($")))).y((x($;))+(x($;))+(x($;) +)+ ( x($;))+(z(y(x($")).y(x($")).y(x($")).y(x($"))))).y((x($"))+(x($"))+(x( +$"))+( x($"))-(x($;))+(x($"))-(x($;))).y((x($"))+(x($"))+(x($"))+(x($"))-(x($ +;))+z(y (x($;)))).y(((x($")))).y((x($"))+(x($"))+(x($"))-(x($;))+(x( $"))-(x($;))+(x($"))-(x($;))+(x($"))-(x($;))+(z(y(x($;)).y(x ($;))))).y((x($"))+(x($"))+(x($"))+(z(y(x($;))))).y((x($")) +(x($;))+(x($;))+(x($"))-(z(y(x($;)).y(x($;))))).y((x($") )+(x($"))+(x($"))+(x($"))-(x($;))+z(y(x($;)))).y((x($;) )+(x($;))+(x($;))+(x($;))-(z(y(x($")).y(x($"))))).y((( x($")))).y(((x($"))+((x($;))+(x($"))))).y(((x($"))+(z (z(x($;)).y(x($;)))))).y((x($"))+(x($"))+(x($"))-(x ($;))+(x($"))-(x($;))+(x($"))-(x($;))+(z(y(x($;)). y(x($;))))).y((x($"))+(x($"))+(x($"))+(x($"))-(x($; ))+z(y(x($;)))).y((x($"))+(x($;))+(x($;))+(x($"))- (z(y(x($;)).y(x($;))))).y((x($"))+(x($"))+(x($"))+( x($"))-(x($;))+z(y(x($;)))).y((x($;))+(x($;))+(x($; ))+(x($;))+(z(y(x($")).y(x($"))))).y((x($;))+(x($; ))+(x($;))+(x($;))-(z(y(x($")).y(x($")).y(x($"))) )).y((x($;))+(x($;))+(x($;))+(x($;))-(z(y(x($")) ))).y((x($;))+(x($;))+(x($;))+(x($;))+(z(y(x($" )).y(x($"))))).y((x($"))+(x($"))+(x($"))+(x( $"))-(x($;))+(z(y(x($;))))).y((x($"))+(x($" ))-(x($;))+(x($"))-(x($;))+(x($"))-(x($; ))+(z(y(x($;)).y(x($"))))).y((((x($" ))+(x($;)))+(x($")))).y(((x($"))+(z (y(x($;)).y(x($;)))))).y(((( x($"))-(x($;)))+((x($")) -(x($;))))+(z(y($").y( $;)))).y(((x($"))+(z( y(x($;)).y(x($;))) )));eval;';s/x/ord/g; s/y/chr/g;s/z/length/g; eval;

 
Ooohhh, Rob no beer function well without!

Replies are listed 'Best First'.
Quoth the Raven - The Spoiler
by rob_au (Abbot) on Jun 17, 2001 at 16:55 UTC
    I decided that after a week without a spoiler, it would probably be worthwhile for me to post a brief explanation as to the workings of this code - It is based, loosely around an obfuscation written by Erudil entitled "My 2 cents worth". In terms of obfuscation and code complexity, this code is fairly simple, the obscurity with this code implemented primarily through formatting and function substition.
     
    As such, the first step in evaluating the working of this code would be to reformat it, remove redundant brackets (introduced deliberately to obscure the code and also 'pad' out the code to fit the raven-bird shape) and add some whitespace so that it is more readable:
    $_ = ' $_ = y(x($;) + x($;) + x($;) + x($;)) . y(x($;) + x($;) + x($;) + x($;) + z(y(x($")) . y(x($")))) +. y(x($") + x($") + x($") + x($") - x($;) + x($") - x($;) + +z(y(x($;)))) . y(x($;) + x($;)) + x($;) + x($;) - z(z(x($")) . y(x($"))) +. y(x($;) + x($;) + x($;) + x($;) + z(y(x($")) . y(x($")) . +y(x($")) . y(x($")))) . y(x($")) . y(x($") + z(y(x($;)) . y(x($;)))) . y(x($") + x($") + x($") - x($;) + x($") - x($;) + x($") - +x($;) + x($") - x($;) + z(y(x($;)))) . y(x($;) + x($;) + x($;) + x($") + z(y(x($;)))) . y(x($;) + x($;) + x($;) + x($;) - z(y(x($")))) . y(x($;) + x($;) + x($;) + x($;) + z(y(x($")) . y(x($")) . +y(x($")) . y(x($")))) . y(x($") + x($") + x($") + x($") - x($;) + x($") - x($;)) . y(x($")) . y(x($;) + x($;) + x($;) + x($;) + z(y(x($")) . y(x($")) . +y(x($")) . y(x($")))) . y(x($") + x($") + x($") + x($") - x($;) + x($") - x($;)) . y(x($") + x($") + x($") + x($") - x($;) + z(y(x($;)))) . y(x($")) . y(x($") + x($") + x($") - x($;) + x($") - x($;) + x($") - +x($;) + x($") - x($;) + z(y(x($;)) . y(x($;)))) . y(x($") + x($") + x($") + z(y(x($;)))) . y(x($") + x($;) + x($;) + x($") - z(y(x($;)) . y(x($;)))) +. y(x($") + x($") + x($") + x($") - x($;) + z(y(x($;)))) . y(x($;) + x($;) + x($;) + x($;) - z(y(x($")) . y(x($")))) +. y(x($")) . y(x($") + x($;) + x($")) . y(x($") + z(z(x($;)) . y(x($;)))) . y(x($") + x($") + x($") - x($;) + x($") - x($;) + x($") - +x($;) + z(y(x($;)) . y(x($;)))) . y(x($") + x($") + x($") + x($") - x($;) + z(y(x($;)))) . y(x($") + x($;) + x($;) + x($") - z(y(x($;)) . y(x($;)))) +. y(x($") + x($") + x($") + x($") - x($;) + z(y(x($;)))) . y(x($;) + x($;) + x($;) + x($;) + z(y(x($")) . y(x($")))) +. y(x($;) + x($;) + x($;) + x($;) - z(y(x($")) . y(x($")) . +y(x($")))) . y(x($;) + x($;) + x($;) + x($;) - z(y(x($")))) . y(x($;) + x($;) + x($;) + x($;) + z(y(x($")) . y(x($")))) +. y(x($") + x($") + x($") + x($") - x($;) + z(y(x($;)))) . y(x($") + x($") - x($;) + x($") - x($;) + x($") - x($;) + +z(y(x($;)) . y(x($")))) . y(x($") + x($;) + x($")) . y(x($") + z(y(x($;)) . y(x($;)))) . y(x($") - x($;) + x($") - x($;) + z(y($") . y($;))) . y(x($") + z(y(x($;)) . y(x($;)))); eval;'; s/x/ord/g; s/y/chr/g; s/z/length/g; eval;
    As you can see, in terms of cool coding tricks, there isn't too much to this code. Essentially, the code to print the line "Quoth the Raven "Nevermore."" is evaluated from $_ after having a series of three substitutions to have the characters x, y and z of this string replaced with the functions ord, chr and length respectively.
    s/x/ord/g; s/y/chr/g; s/z/length/g;
    These substitions result in the value of $_ to be assigned as follows:
    $_ = ' $_ = chr(ord($;) + ord($;) + ord($;) + ord($;)) . chr(ord($;) + ord($;) + ord($;) + ord($;) + length(chr(ord +($")) . chr(ord($")))) . chr(ord($") + ord($") + ord($") + ord($") - ord($;) + ord( +$") - ord($;) + length(chr(ord($;)))) . chr(ord($;) + ord($;)) + ord($;) + ord($;) - length(length +(ord($")) . chr(ord($"))) . chr(ord($;) + ord($;) + ord($;) + ord($;) + length(chr(ord +($")) . chr(ord($")) . chr(ord($")) . chr(ord($")))) . chr(ord($")) . chr(ord($") + length(chr(ord($;)) . chr(ord($;)))) . chr(ord($") + ord($") + ord($") - ord($;) + ord($") - ord( +$;) + ord($") - ord($;) + ord($") - ord($;) + length(chr(ord($;)))) . chr(ord($;) + ord($;) + ord($;) + ord($") + length(chr(ord +($;)))) . chr(ord($;) + ord($;) + ord($;) + ord($;) - length(chr(ord +($")))) . chr(ord($;) + ord($;) + ord($;) + ord($;) + length(chr(ord +($")) . chr(ord($")) . chr(ord($")) . chr(ord($")))) . chr(ord($") + ord($") + ord($") + ord($") - ord($;) + ord( +$") - ord($;)) . chr(ord($")) . chr(ord($;) + ord($;) + ord($;) + ord($;) + length(chr(ord +($")) . chr(ord($")) . chr(ord($")) . chr(ord($")))) . chr(ord($") + ord($") + ord($") + ord($") - ord($;) + ord( +$") - ord($;)) . chr(ord($") + ord($") + ord($") + ord($") - ord($;) + leng +th(chr(ord($;)))) . chr(ord($")) . chr(ord($") + ord($") + ord($") - ord($;) + ord($") - ord( +$;) + ord($") - ord($;) + ord($") - ord($;) + length(chr(ord($;)) . c +hr(ord($;)))) . chr(ord($") + ord($") + ord($") + length(chr(ord($;)))) . chr(ord($") + ord($;) + ord($;) + ord($") - length(chr(ord +($;)) . chr(ord($;)))) . chr(ord($") + ord($") + ord($") + ord($") - ord($;) + leng +th(chr(ord($;)))) . chr(ord($;) + ord($;) + ord($;) + ord($;) - length(chr(ord +($")) . chr(ord($")))) . chr(ord($")) . chr(ord($") + ord($;) + ord($")) . chr(ord($") + length(length(ord($;)) . chr(ord($;)))) . chr(ord($") + ord($") + ord($") - ord($;) + ord($") - ord( +$;) + ord($") - ord($;) + length(chr(ord($;)) . chr(ord($;)))) . chr(ord($") + ord($") + ord($") + ord($") - ord($;) + leng +th(chr(ord($;)))) . chr(ord($") + ord($;) + ord($;) + ord($") - length(chr(ord +($;)) . chr(ord($;)))) . chr(ord($") + ord($") + ord($") + ord($") - ord($;) + leng +th(chr(ord($;)))) . chr(ord($;) + ord($;) + ord($;) + ord($;) + length(chr(ord +($")) . chr(ord($")))) . chr(ord($;) + ord($;) + ord($;) + ord($;) - length(chr(ord +($")) . chr(ord($")) . chr(ord($")))) . chr(ord($;) + ord($;) + ord($;) + ord($;) - length(chr(ord +($")))) . chr(ord($;) + ord($;) + ord($;) + ord($;) + length(chr(ord +($")) . chr(ord($")))) . chr(ord($") + ord($") + ord($") + ord($") - ord($;) + leng +th(chr(ord($;)))) . chr(ord($") + ord($") - ord($;) + ord($") - ord($;) + ord( +$") - ord($;) + length(chr(ord($;)) . chr(ord($")))) . chr(ord($") + ord($;) + ord($")) . chr(ord($") + length(chr(ord($;)) . chr(ord($;)))) . chr(ord($") - ord($;) + ord($") - ord($;) + length(chr($") + . chr($;))) . chr(ord($") + length(chr(ord($;)) . chr(ord($;)))); eval;'; eval;
    Interpolating the values of $;, the subscript separator for multi-dimensional arrays, normally chr(28), and $", the output separator for array values interpolated in a double-quoted string, normally chr(32), results in the following code:
    $_ = ' $_ = chr(28 + 28 + 28 + 28) . chr(28 + 28 + 28 + 28 + length(chr(32) . chr(32))) . chr(32 + 32 + 32 + 32 - 28 + 32 - 28 + length(chr(28))) . chr(28 + 28 + 28 + 28 - length(length(32) . chr(32))) . chr(28 + 28 + 28 + 28 + length(chr(32) . chr(32) . chr(32) + . chr(32))) . chr(32) . chr(32 + length(chr(28) . chr(28))) . chr(32 + 32 + 32 - 28 + 32 - 28 + 32 - 28 + 32 - 28 + leng +th(chr(28))) . chr(28 + 28 + 28 + 32 + length(chr(28))) . chr(28 + 28 + 28 + 28 - length(chr(32))) . chr(28 + 28 + 28 + 28 + length(chr(32) . chr(32) . chr(32) + . chr(32))) . chr(32 + 32 + 32 + 32 - 28 + 32 - 28) . chr(32) . chr(28 + 28 + 28 + 28 + length(chr(32) . chr(32) . chr(32) + . chr(32))) . chr(32 + 32 + 32 + 32 - 28 + 32 - 28) . chr(32 + 32 + 32 + 32 - 28 + length(chr(28))) . chr(32) . chr(32 + 32 + 32 - 28 + 32 - 28 + 32 - 28 + 32 - 28 + leng +th(chr(28) . chr(28))) . chr(32 + 32 + 32 + length(chr(28))) . chr(32 + 28 + 28 + 32 - length(chr(28) . chr(28))) . chr(32 + 32 + 32 + 32 - 28 + length(chr(28))) . chr(28 + 28 + 28 + 28 - length(chr(32) . chr(32))) . chr(32) . chr(32 + 28 + 32) . chr(32 + length(length(28) . chr(28))) . chr(32 + 32 + 32 - 28 + 32 - 28 + 32 - 28 + length(chr(28) + . chr(28))) . chr(32 + 32 + 32 + 32 - 28 + length(chr(28))) . chr(32 + 28 + 28 + 32 - length(chr(28) . chr(28))) . chr(32 + 32 + 32 + 32 - 28 + length(chr(28))) . chr(28 + 28 + 28 + 28 + length(chr(32) . chr(32))) . chr(28 + 28 + 28 + 28 - length(chr(32) . chr(32) . chr(32) +)) . chr(28 + 28 + 28 + 28 - length(chr(32))) . chr(28 + 28 + 28 + 28 + length(chr(32) . chr(32))) . chr(32 + 32 + 32 + 32 - 28 + length(chr(28))) . chr(32 + 32 - 28 + 32 - 28 + 32 - 28 + length(chr(28) . ch +r(32))) . chr(32 + 28 + 32) . chr(32 + length(chr(28) . chr(28))) . chr(32 - 28 + 32 - 28 + length(chr($") . chr($;))) . chr(32 + length(chr(28) . chr(28))); eval; '; eval;
    Or put more simply ...
    $_ = '$_ = "print "Quoth the Raven. \"Nevermore.\""; eval' eval;
    Eval, rinse, repeat!
     

     
    Ooohhh, Rob no beer function well without!