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

I hope someone has as much fun unraveling this as I had creating it.

@s{keys%::}=();bless{};;*{(sort grep{!exists$s{$_}}keys%::) [1]}=sub{$n=0.5;{print"\r",map{rand(100)<=$p?$_:' '}split// ,"Just another Perl hacker,";$p<0&&$n<1&&last;$n*=$p>110?-1 :1;$p+=$n;select$q,$q,$q,.04;redo}print$/};${bless\$|}-=1

One hint is to figure out the order in which things really happen, and why.

Updated: Took diotalevi's newline suggestion. ...thanks.
...and thanks tye for the alternative to bless\$|++.


Dave

Replies are listed 'Best First'.
Re: Clean up and shimmer
by bobf (Monsignor) on Feb 03, 2005 at 08:06 UTC

    Very cool! It intrigued me enough to try to figure out how it worked - I hope I got close (this is my first attempt at a de-obfuscation):

    Spoiler in readmore!

      Good job! You were pretty much right on target.

      To answer a few questions...


      Dave

Re: Clean up and shimmer
by diotalevi (Canon) on Feb 03, 2005 at 05:29 UTC
    Fun! Not only was it pleasant to read, getting to execute it later was just cake! It would be nice if you printed a single \n at completion.
Re: Clean up and shimmer
by Tanktalus (Canon) on Feb 03, 2005 at 05:05 UTC

    I need to figure out how to get that into my code at work. Imagine the damage it'd do to the poor guys who run my code with a pipe through tee... :-)

      D'oh, it sure made a mess in a buffer after running it with shell-command under emacs :)
      Happy to report it works in activestate perl under cmd.exe and cygwin perl under bash.
      Niice work!
Re: Clean up and shimmer
by wolfger (Deacon) on Feb 04, 2005 at 16:48 UTC

    That is just too beautiful for words. I wish I could ++ this more than once...


    --
    Linux, sci-fi, and Nat Torkington, all at Penguicon 3.0
    perl -e 'print(map(chr,(0x4a,0x41,0x50,0x48,0xa)))'
Re: Clean up and shimmer
by sh1tn (Priest) on Feb 04, 2005 at 00:18 UTC
    Very good! :)