start page | rating of books | rating of authors | reviews | copyrights

Book HomeJava and XSLTSearch this book

8.15. B::Concise

A module that walks the Perl syntax tree, printing concise info about the internal OPs of a Perl program's syntax tree. The format of the information displayed is customizable. Its function is similar to that of Perl's -Dx debugging flag or the B::Terse module, but it is more sophisticated and flexible. Invoke as:

perl -MO=Concise[,options] program

program is the name of the Perl script to compile. Any non-option arguments are treated as the names of objects to be saved; the main program is assumed if there are no extra arguments. Possible options are:

-basic
Prints OPs in the order they appear in the OP tree (a preorder traversal, starting at the root). Default.

-exec
Prints OPs in the order they would normally execute. For the majority of constructs, this is a postorder traversal of the tree, ending at the root.

-tree
Prints OPs in a text approximation of a tree, with the root of the tree at the left and "left-to-right" order of children transformed into "top-to-bottom". Unsuitable for large programs.

-compact
Uses a tree format in which the minimum amount of space is used for the lines connecting nodes (one character in most cases).

-loose
Uses a tree format that uses longer edges to separate OP nodes. Default.

-vt
Uses tree-connecting characters drawn from the VT100 line-drawing set.

-ascii
Draws the tree with standard ASCII characters such as + and |. Default.

-main
Includes the main program in the output, even if subroutines were also specified.

-basen
Prints OP sequence numbers in base n, with n <= 62. The default is 36.

-bigendian
Prints sequence numbers with the most significant digit first. Default.

-littleendian
Prints sequence numbers with the least significant digit first.

-concise
Uses the author's favorite set of formatting conventions. Default.

-terse
Uses formatting conventions that emulate the output of B::Terse.

-linenoise
Uses formatting conventions in which the name of each OP, rather than written out in full, is represented by a one- or two-character abbreviation.

-debug
Uses formatting conventions reminiscient of B::Debug.

-env
Uses formatting conventions read from the environment variables B_CONCISE_FORMAT, B_CONCISE_GOTO_FORMAT, and B_CONCISE_TREE_FORMAT.



Library Navigation Links

Copyright © 2002 O'Reilly & Associates. All rights reserved.