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 )