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

stvn has asked for the wisdom of the Perl Monks concerning the following question:

Anyone know of a good tutorial for and/or further documentation on the B:: modules? In particular B::Generate. Or would anyone care to share their experiences with those modules?

I just finished reading Simon Cozens Perl 5 Internals and I am itching to see how many segfaults I can cause by trying to create and/or manipulate some op-trees.

-stvn

Replies are listed 'Best First'.
Re: The B:: Modules
by jweed (Chaplain) on Jan 25, 2004 at 22:04 UTC
      Jweed,

      Thanks, I actually think i read this article back when it first came out. I think I will give it a read again. Thanks.

      Update: I went back and tried with your Google search params, I noticed it was the first and pretty much only relevant link on there (except for something by chromatic which I have bookmarked for after the kids are in bed). Maybe I should start looking for info about the perl C code, and just transpose it to Perl?

      -stvn
        1. Write the Perl code you want to produce.
        2. Dump it to opcodes with B::Concise.
        3. Write the Perl code you want to transform.
        4. Dump it to opcodes.
        5. Figure out the difference between #2 and #4.
        6. Write the B::Generate code to produce those opcodes.
        7. Fiddle with stuff until it stops segfaulting.
        8. Fiddle with stuff until it stops running into an infinite loop.

        For extra credit, fiddle with stuff until it produces the right answer. If you reach this step, please tell the rest of us how you did it!