Synopsis:

deparse [address options] [0xOP-address | . ]

deparse [B::DeparseTree-options] {filename | subroutine}

In the first form with an OP address, "," or no arguments, deparse around where the program is currently stopped. If "dump" or "tree" is given we show lower-level output from B::DeparseTree::Print. In the former case, just for the opcode and in the later case for the deparsed tree.

In the second form with a function or filename, B::DeparseTree shows information for that file or function.

B::DeparseTree options:

-t  | --tree        Show full optree
-l  | --line        Add '# line' comment
      --offsets     show all offsets
-a  | --address     Add 'OP addresses in '# line' comment
-f  | --function    Set function to look up offset
-p  | --parent <n>  Show parent text to level <n>
-q  | --quote       Expand double-quoted strings
-d  | --debug       Show debug information
-h  | --help        run 'help deparse' (this text)

Deparse Perl source code using B::DeparseTree.

Without arguments, deparses the current statement, if we can.

Examples:

deparse             # deparse current statement
deparse -a          # deparse current statement showing
                    # line and OP address
deparse 0xcafebabe  # decode an opcode address.
deparse @0xcafebabe # same as above
deparse file.pm
deparse -l file.pm

See also:

list, and B::DeparseTree for more information on deparse options.