B::Flags - Friendlier flags for B
use B::Flags; # some ops print B::main_root->flagspv; print B::main_root->privatepv; print $some_b_sv_object->flagspv;
Stringification of flags.
By default, $foo->flags when passed an object in the B class will produce a relatively meaningless number, which one would need to grovel through the Perl source code in order to do anything useful with. This module adds flagspv to the SV and op classes and privatepv to the op classes, which makes them easier to understand.
$foo->flags
B
flagspv
privatepv
Returns stringification of the OP flags.
Adds now SIBLING to abstract the new LASTSIB/MORESIB flags since 5.21/5.22 and the old op_sibling pointer. Since 5.22 missing the SIBLING flags indicates a PARENT at the op_sibparent pointer, with -DPERL_OP_PARENT.
op_sibling
op_sibparent
Returns stringification of the OP private flags.
Returns stringification of the SV flags.
With the optional type only the flags for the given SvTYPE are used. type 0 is for the SvFLAGS only. This way you can seperate between sv->FLAGS and specialized AvFLAGS, GvFLAGS, CvFLAGS, ... in seperate struct fields.
Note that only the names of bitmasked SV and OP flags are returned, not pseudo flags, like TAINTED, which is stored as magic. PAD, PADNAME, PADLIST and PADNAMELIST flags are now also supported.
Simon Cozens, simon@cpan.org
Reini Urban, rurban@cpan.org
Abhijit Menon-Sen, ams@cpan.org
perl(1).
AL & GPL.
Copyright 2001 Simon Cozens Copyright 2010,2013,2014,2015 Reini Urban
To install B::Flags, copy and paste the appropriate command in to your terminal.
cpanm
cpanm B::Flags
CPAN shell
perl -MCPAN -e shell install B::Flags
For more information on module installation, please visit the detailed CPAN module installation guide.