The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

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.