511 characters. See source code for a qualifier that may give a little away.

open(0,$0);$/=$;;<0>=~m{(ET / /).*(C[^\*]+)}s;$b=$1;($G=$g=$2) =~s/.*(en).*/s$1d(t,/s;$_=join');',S($g),S($g),"$G\"G$b\n\n\", 0","\$/=<t>";substr($_,26,1,'"'.pack("cx2c5x8",2,80,209,85,3, 25).'"');sub S{split(//,shift);$_[3]=chr(ord($_[3])-($*?6:9)); $_[5]=chr(ord($_[5])-($*?11:-6));$_[7]='(t,';if(!$*++){$_[8]= join(',',split(/5?/,(ord($_[10])+104)));$_[2]='c';$_[6]=""; $_[0]='s'}$#_=8;lc join('',@_);}$_=eval;s/.*\r\n//s; s#(<[^>]+>)*(\w{0,2})#"$1<FONT COLOR=".(int rand 999999)."> $2</FONT>"#eg;print;#Content-type

Replies are listed 'Best First'.
Re: Obfuscindex.html
by damian1301 (Curate) on Jan 30, 2001 at 08:00 UTC
    I have been looking at this code for a while and can't figure out what does what. Do you think you could post a spoiler for us, or anyone out there that knows how this does what it does please post one?

    Wanna be perl hacker.
    Dave AKA damian

    I encourage you to email me

      Some (minor) spoilers follow. I don't have time to parse through the whole thing right now, but if anyone has the urge to, that would be great.

      The entire "Content-type" string is a sort of red herring and is never printed out, although the script does create an html file. Basically use it like this:

      obfuscindex.pl > foo.html
      and then take a look at the foo.html file in your favorite browser. Most of the script is spent getting a string ready to pass into the eval near the end. Then the rest of the script munges the output of the eval a bit, and outputs it. This was for the Obfuscated Perl Contest category 2: "World Wide Wasteland". The object was to create a truly horrific web page. Keeping it under 512 characters was definitely the hardest part, but it was a nice challenge. The result is certainly a very ugly, if oddly familiar, web page. Will not work on a Solaris box (hint hint).