SPUG: -MO=Deparse; what it is?

Doug Beaver dougb at scalar.org
Sat Jan 29 18:10:43 CST 2000


On Sat, Jan 29, 2000 at 02:57:32PM -0800, Tim Maher/CONSULTIX wrote:
> (E-)?SPUG-ticians,
> 
> In a Perl Beautification discussion I had with somebody,
> the following -MO=Deparse business came up.  Does anybody
> know what this is?  (My O'Reilly bookshelf seems mute on
> the subject, and the person who brought this up has long
> since "gone out of scope" (mine, not his)).

The classes under B:: let you get at the internals of the perl compiler
(I think B is supposed to stand for Backend).  If you have tchrist's
pmtools package (http://language.perl.com/misc/pmtools-1.00.tar.gz), you
can see what they all do:

% pminst ^B:: | xargs pmdesc
B::Deparse (0.56) - Perl compiler backend to produce perl code
B::CC - Perl compiler's optimized C translation backend
B::Debug - Walk Perl syntax tree, printing debug info about ops
B::Showlex - Show lexical variables used in functions or files
B::Bblock - Walk basic blocks
B::Bytecode - Perl compiler's bytecode backend
B::Stackobj - Helper module for CC backend
B::Xref - Generates cross reference reports for Perl programs
B::Lint - Perl lint
B::Asmdata - Autogenerated data about Perl ops, used to generate
bytecode
B::Assembler - Assemble Perl bytecode
B::Disassembler - Disassemble Perl bytecode
B::Terse - Walk Perl syntax tree, printing terse info about ops
B::C - Perl compiler's C backend

(This list is from 5.00503, which is what I have installed at home.)

Doug

-- 
Smithers: I'm afraid we have a bad image, Sir.  Market research shows
          people see you as somewhat of an ogre.
   Burns: I ought to club them and eat their bones!

 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    POST TO: spug-list at pm.org        PROBLEMS: owner-spug-list at pm.org
 Seattle Perl Users Group (SPUG) Home Page: http://www.halcyon.com/spug/
 SUBSCRIBE/UNSUBSCRIBE: Replace ACTION below by subscribe or unsubscribe
        Email to majordomo at pm.org: ACTION spug-list your_address





More information about the spug-list mailing list