probably there are few places where the code is executed as expected, but the results arent:
$a=$_=q[s/\n(.*?)\W#([^\n]*)/\n$2 #$1/gs;print "%=2Zi5" #"!'5F,&" #'o8$\%t']. q[ #"')\"E,&\n" ^ 'OHA.IT' ;]; {eval; redo unless $a eq $_}
The main program is in the last line: a hacked loop which stop when $a eq $_. (see redo)
before that we assign $a and $_ with the same value, so it seems that the loop will stop after the first cycle, but that's wrong!
While evaluating $_, $_ is not localized so the first instruction of $_ (s///) will change $_ itself; by rotating the following lines comments.
so the print will process "%=2Zi5" the first time, "!'5F,&" the second and so on.
this string is bitwise xor-ed with 'OHA.IT' (see perlop) returning 'just a','nother',' perl ','hacker'

By itself, the hiding of the information isn't so strong, but i liked the way the code is executed.
oh... i forgot.. there is another trick inside!

Oha

Replies are listed 'Best First'.
Re: cyclic s///
by LassiLantar (Monk) on Nov 09, 2007 at 21:35 UTC