http://www.perlmonks.org?node_id=296440


in reply to Re: Slashdot lamejoke generator
in thread Slashdot lamejoke generator

I'm getting lost in all the map transforms

But, there are only a mere eight of them...

There's some stuff that is unused... disinformation?

I included that stuff for three reasons. (SPOILERS:

First, because I needed something to fill out my shape. Second, yes, I felt the need to throw in some herring. Third, I had just discovered it was possible to have a sub named :: and could not bear to exclude this marvelous discovery. Expect to see some of my future obfuscations make more substantial use of this name.
)

this bit of code is a fun transformation

Yes, I initially wanted to golf that down a little more and/or obfuscate it a little better, and possibly apply it to more of the text, but I ran out of steam.

It puts an exclamation point and newline on the output record seperator, which I think puts it at the end of the output whenever this program is run.

Whenever it prints out a string, actually. The only reason it only happens once per run is because it only prints one string per run. When I was developing the thing, I had a loop that for testing purposes called all of the closures, and so !\n was printed after each.

That's the first time I've ever de-obfuscated a program.

Addictive, isn't it? The first time I deobfuscated something from Perlmonks, I went nuts afterward and compulsively deobfuscated the next several obfus in a row. It was a couple of days before I wanted to look at "normal" code again.


$;=sub{$/};@;=map{my($a,$b)=($_,$;);$;=sub{$a.$b->()}} split//,".rekcah lreP rehtona tsuJ";$\=$ ;->();print$/

Replies are listed 'Best First'.
Re: Re: Slashdot lamejoke generator
by Notromda (Pilgrim) on Oct 08, 2003 at 00:28 UTC
    I included that stuff for three reasons.

    Actually I guessed the first two, and the third makes sense. I was equally impressed by the :: sub name.

    When I was developing the thing, I had a loop that for testing purposes called all of the closures, and so !\n was printed after each.

    Heh.. well, to de-obfuscate the thing, I put in some Data::Dumper statements. It made the output interesting! :lol: