Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer
 
PerlMonks  

Token Abuse Japh

by liverpole (Monsignor)
on Feb 10, 2006 at 19:31 UTC ( #529445=obfuscated: print w/ replies, xml ) Need Help??

Every line of this script violates good programming practices.

Be sure to include the final quotation mark (")

#!/usr/bin/perl $ == _ eq _; $ -= ( ) = qw; ( );; $ -= ( ) = qw(( )); $ *= $ -* $ -* $ -; $ /= $ -+ $ * ; _: $ " .= chr $ /+ $ *** $ -; $ /= $ / >> $ = || $ ** $ -; $ /= $ / &~ $ */ $ - and goto _; print $ "," "

@ARGV=split//,"/:L"; map{print substr crypt($_,ord pop),2,3}qw"PerlyouC READPIPE provides"

Comment on Token Abuse Japh
Download Code
Re: Token Abuse Japh
by Errto (Vicar) on Feb 10, 2006 at 20:05 UTC
    It's an interesting observation that separating sigils from variable names is legal but splitting up multi-character operators like .= is not. Also, I'm a bit surprised to learn that line labels don't have to be the first token in the line.
Re: Token Abuse Japh
by chargrill (Parson) on Feb 10, 2006 at 21:15 UTC

    I was also surprised that $ = was legal. Unfortunately,

    Being thoroughly impressed by this (as well as the rest of liverpole's JAPH's, I thougt I'd go ahead and post a detailed de-obfuscation of this particularly clever (to me, at least) JAPH.

    Whew! ++liverpole! That was a lot of fun!



    --chargrill
    $/ = q#(\w)# ; sub sig { print scalar reverse join ' ', @_ } + sig map { s$\$/\$/$\$2\$1$g && $_ } split( ' ', ",erckha rlPe erthnoa stJu +" );
      Thank you, chargrill ++ a delightful read.

      I'm glad you referenced Perl Idioms Explained - my $count = () = /.../g, because I actually hadn't intended to use it; I just came to a point where I realized I needed it.  So it was serendipitous that I had just read that node the other day.


      @ARGV=split//,"/:L"; map{print substr crypt($_,ord pop),2,3}qw"PerlyouC READPIPE provides"
Re: Token Abuse Japh
by wulvrine (Friar) on Feb 12, 2006 at 22:15 UTC
    What an interesting 'shift' in obfuscation methodology :)

    I had a lot of fun figuring out what you were doing :)

    Great job!

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: obfuscated [id://529445]
Approved by Errto
Front-paged by Arunbear
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others studying the Monastery: (7)
As of 2014-12-25 14:29 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    Is guessing a good strategy for surviving in the IT business?





    Results (160 votes), past polls