Data-Rmap
view release on metacpan or search on metacpan
lib/Data/Rmap.pm view on Meta::CPAN
# q.3.2 = three_two
# q.3.3.1 = three_three_one
# q.3.4 = three_four
# q.4 = four
# q.5.1.1 = five_one_one
# replace CODE with "<CODE>"
$ perl -MData::Rmap=:all -E 'say join ":", rmap_code { "<CODE>" } sub{},sub{}'
<CODE>:<CODE>
# look inside code refs with PadWalker
$ perl -MData::Rmap=:all -MSub::Identify=:all -MPadWalker=:all -MSub::Name
use 5.10.0;
my $s = sub {}; sub A::a { $s };
say join ", ",
rmap_code {
sub_fullname($_), # name string
map { $_[0]->recurse } closed_over($_) # then recurse the sub innards
} \*A::a, subname b => sub { $s };
# A::a, main::__ANON__, main::b
=head1 Troubleshooting
( run in 0.488 second using v1.01-cache-2.11-cpan-05444aca049 )