Devel::MAT::Tool::Identify - identify an SV by its referrers
Devel::MAT::Tool::Identify
This Devel::MAT tool provides a command to identify an SV by walking up its tree of inrefs, printing useful information that helps to identify what it is by how it can be reached from well-known program roots.
Devel::MAT
pmat> identify 0x1bbf640 IO() at 0x1bbf640 is: └─the io of GLOB(@*I) at 0x1bbf628, which is: └─the ARGV GV
Prints a tree of the identification of the SV at the given address.
Takes the following named options:
Limits the output to the given number of steps away from the given initial SV.
Include weak direct references in the output (by default only strong direct ones will be included).
Include both weak and indirect references in the output.
Don't elide structure in the output.
By default, REF()-type SVs will be skipped over, leading to a shorter neater output by removing this usually-unnecessary noise. If this option is not given, elided reference SVs will be notated by adding (via RV) to the reference description.
REF()
(via RV)
Additionally, members of the symbol table will be printed as being root SVs, noting their symbol table name. This avoids additional nesting due to the stashes and globs that make up the symbol table. This can also cause SVs to be recognised as symbol table entries, when without it they might be cut off due to the depth limit.
Paul Evans <leonerd@leonerd.org.uk>
To install Devel::MAT, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Devel::MAT
CPAN shell
perl -MCPAN -e shell install Devel::MAT
For more information on module installation, please visit the detailed CPAN module installation guide.