Devel::Pointer - Fiddle around with pointers
use Devel::Pointer; $a = address_of($b); # a = &b; $b = deref($a); # b = *a; $a = unsmash_sv(0+$scalar_ref); @a = unsmash_av(0+$array_ref); %a = unsmash_hv(0+$hash_ref); &a = unsmash_cv(0+$code_ref); # OK, you can't do that, but you get the idea $c = deref(-1); # *(-1), and the resulting segfault.
The primary purpose of this is to turn a smashed reference address back into a value. Once a reference is treated as a numeric value, you can't dereference it normally; although with this module, you can.
Be careful, though, to avoid dereferencing things that don't want to be dereferenced.
All of the above
Simon Cozens, simon@cpan.org
simon@cpan.org
Devel::Peek, perlref, B::Generate
To install Devel::Pointer, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Devel::Pointer
CPAN shell
perl -MCPAN -e shell install Devel::Pointer
For more information on module installation, please visit the detailed CPAN module installation guide.