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 ...

Get Perl in a Nutshell, 2nd Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.