perlmonk huck's JAPH train - hosted by Don Cornelius
eval join'',map{--$_?--$_?--$_?--$_?--$_?--$_?--$_?--$_?--$_ ?--$_?--$_?--$_?--$_?--$_?--$_?--$_?--$_?--$_?--$_?--$_?--$_ ?--$_?--$_?--$_?--$_?--$_?'p':'e':'r':'l':'m':'o':'n':'k':' ' :'h':'u':'c':'k':'"':'s':' ':'J':'A':'P':'H':' ':'t':'r':'a': 'i':'n':','}split'[?:]','27?5?3?2?6?14?11?17?13?6?7?4?2?22?'. '6?18:26:25:19:9:26:25:24:12:18:4:16:15:26:5:1:14';

I don't know if this trick has been used in an obfu before. This obfu is just one trick driven into the ground, and I don't think it could ever be used for anything but an obfu.

de-obfus, comments, suggestions all welcome. Specially, can you figure out some other string besides "perlmonk huck's JAPH train" that might improve the image of this JAPH. (The JAPH is very concerned about it's image.:)

enjoy,

meta4

Replies are listed 'Best First'.
Re: The ol' hook 'n switch routine
by SarahM (Monk) on Jun 13, 2002 at 23:27 UTC
    You know, this looks much worse then it actually is. You have to read it backwards since everything is chained together though.

    First, you split your string on : or ?, which creates a list of numbers. That list is feed to map. Map then takes each number and runs it through a series of decrement and trinity operators. This continues until the number is 0, then a letter is returned. If you want to figure out which letter corresponds to which number, then you start at the end (with the ',') and count towards the beginning until you reach the number. Since map returns a list, a join is used to combine all the letters into the string 'print"Just another Perl hacker," '. Finally the string is evaluated, and the output printed.

    How did I do? This is my first try at this, so let me know if I missed anything!