in reply to First attempt!

Hrm, to me, good obfuscation is compressed as much as possible, with 1-letter subroutine and variable names, and as little whitespace as possible. And gratuitous use of the "map" function is always good. :)

So I would do something like:

@l=(116,111,109,109,111,110,116,101,10);&s; $l[0]=$l[7];$l[1]+=3;$l[2]-=6;$l[3]=$l[4];$l[4]+=8; $l[5]=$l[3];$l[6]-=8;$l[7]++;&s;sub s{print(map{chr($_)}@l)}

Replies are listed 'Best First'.
RE: RE: First attempt!
by Adam (Vicar) on May 03, 2000 at 20:13 UTC
    Thats better, but assigning to $l[0] through $l[7], you might as well do it with the ()=() structure. Also, obfuscate the first assignment a little.
    @l=split/2/,q;1021012116211021112109210921112116; ;@l=reverse@l;&s;@l=($l[7],114,103,$l[4],119,#=3, $l[1],108,102,10);&s;sub s{print(map{chr($_)}@l)}