Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW
 
PerlMonks  

Re: explain obfu code

by maverick (Curate)
on Oct 02, 2001 at 01:53 UTC ( [id://116003]=note: print w/replies, xml ) Need Help??


in reply to explain obfu code

You could also run it through Deparse to make it look a lot less ugly...that would by my first step.

perl -MO=Deparse script.pl

Yields:

++$|; undef $/; $_ = $e || <ARGV>; tr/+-.<>[]//cd; foreach $a (']}', '[while($p[$p]){', '-$p[$p]--', '+$p[$p]++', ',$p[$p +]=ord(getc)', '.print(chr($p[$p]))', '<$p--', '>$p++') { s/\Q${\substr($a, 0, 1);}\E/${\substr($a, 1);}\n;/g; } eval $_;
Yick! What is this program supposed to do anyway?

Updated
Here's my second pass at looking at this. Look at the elements in the foreach loop. The left most character of the element is what is looked for in the replacement and the rest of the element it what a match is replaced with.

This input

[ < - ]
Produces this output
while($p[$p]){ ;$p-- ;$p[$p]-- ;} ;
Could this be a home brew macro language parser? jeffa agree's with this idea.

/\/\averick
perl -l -e "eval pack('h*','072796e6470272f2c5f2c5166756279636b672');"

Replies are listed 'Best First'.
Re: Re: explain obfu code
by japhy (Canon) on Oct 02, 2001 at 03:20 UTC
    It's an interpreter for Brainfuck.

    _____________________________________________________
    Jeff[japhy]Pinyan: Perl, regex, and perl hacker.
    s++=END;++y(;-P)}y js++=;shajsj<++y(p-q)}?print:??;

Re: Re: explain obfu code
by broquaint (Abbot) on Oct 02, 2001 at 17:21 UTC
    Try piping this into it -
    +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +++++++++++++++++++++++++++++++++++++++++++++.>++++++++++++++ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++.>+++++++++++++++++++++++++++++++++++++ +++++++++++++++++++++++++++++.>++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++.>+++++++++++++++++++ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++.>++++++++++.>-<
    There are more elegant ways of putting that, but it's brainfuck which is rarely elegant anyways.
    HTH

    broquaint

    Note: the above spew was (as you've probably guessed) created by yet another BF script (which can be found here).

      I had never heard of BF -- I guess you do learn something new every day.

      Anyway, in the spirit of BF Golf, I shortened your code. *Grins*

      +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +++++++++++++++++++++++++++++++++++++++++++++.---------.----- --------------------------.++++.+++++++++++++++++++++++++++++ +++++.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://116003]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others exploiting the Monastery: (2)
As of 2024-04-26 05:32 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found