[lug] Obfuscated Perl (What language is this?)

John Hernandez John.Hernandez at noaa.gov
Thu Jun 28 14:12:44 MDT 2001


http://www.perl.com/pub/n/Fifth_Obfuscated_Perl_Contest_Winners_Announced

O'Reilly hosts an annual "Obfuscated Perl" contest.  The code below may (or may not) be written with this contest in mind.  There are lots of fun, interesting, and completely mind-twisting programs in the archives!

One of the most challenging I've found is:

@P=split//,".URRUU\c8R";@d=split//,"\nrekcah xinU / lreP rehtona tsuJ";sub p{
@p{"r$p","u$p"}=(P,P);pipe"r$p","u$p";++$p;($q*=2)+=$f=!fork;map{$P=$P[$f^ord
($p{$_})&6];$p{$_}=/ ^$P/ix?$P:close$_}keys%p}p;p;p;p;p;map{$p{$_}=~/^[P.]/&&
close$_}%p;wait until$?;map{/^r/&&<$_>}%p;$_=$d[$q];sleep rand(2)if/\S/;print

The solution is at http://perl.plover.com/obfuscated/

Have fun!

-John

Evelyn Mitchell wrote:
> 
> Definately perl.
> 
> s''$/=\2048;
> while(<>){
>   G=29;R=142;
>   if((@a=unqT="C*",_)[20]&48){
>     D=89;
>     _=unqb24,qT,@ b=map{ord qB8,unqb8,qT,_^$a[-D]}@INC;
>     s/...$/1$&/;
>     Q=unqV,qb25,_;
>     H=73;
>     O=$b[4]<<9|256|$b[3];
>     Q=Q>>8^(P=(E=255)&(Q>>12^Q>>4^Q/8^Q))<<17,O=O>>8^(E&(F=(S=O>>14&7 ^O) ^S*8^S<<6))<<9,_=(map{
>       U=_%16orE^=R^=110&(S=(unqT,"\xb\ntd\xbz\x14d")[_/16%8]);
>       E^=(72, at z=(64,72,G^=12*(U-2?0:S&17)),H^=_%64?12:0, at z)[_%8]
>       }
>     (16..271))[_]^((D>>=8)+=P+(~F&E))
>     for at a[128..$#a]
>     }
>     print+qT, at a
>   }';
>   s/[D-HO-U_]/\$$&/g;s/q/pack+/g;
>   eval
> 
> spacing may be wrong.
> 
> This brings to mind, _How to Write Unmaintainable Code_:
>   http://mindprod.com/unmain.html
> 
> efm
> _______________________________________________
> Web Page:  http://lug.boulder.co.us
> Mailing List: http://lists.lug.boulder.co.us/mailman/listinfo/lug

-- 

  - John Hernandez - Network Engineer - 303-497-6392 -
 |  National Oceanic and Atmospheric Administration   |
 |  Mailstop R/OM12. 325 Broadway, Boulder, CO 80305  |
  ----------------------------------------------------



More information about the LUG mailing list