Beefy Boxes and Bandwidth Generously Provided by pair Networks
XP is just a number
 
PerlMonks  

Token Abuse Japh

by liverpole (Monsignor)
on Feb 10, 2006 at 19:31 UTC ( [id://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"

Replies are listed 'Best First'.
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 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 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
Domain Nodelet?
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?Last hourOther CB clients
Other Users?
Others perusing the Monastery: (5)
As of 2024-03-29 08:49 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found