Steve, thanks for your prompt response!
Playing with something along the lines of:
use 5.032001; use warnings; use Data::Dumper; use Devel::Symdump; use Path::Tiny; use PPR::X; use lib qw(.); sub scan4subs { my ($file)=@_; my @packages; # use PPR:X to scan for package and get their names: my $text=(path($file)->slurp); while ($text =~ m{((?&PerlPackageDeclaration)) $PPR::X::GRAMMA +R}gx) { push @packages,$1 =~ m{package\ ([:\w]+) }x; }; #warn Data::Dumper->new([\@packages],[qw(*packages)])->Deepcop +y(1)->Indent(1)->Maxdepth(3)->Sortkeys(1)->Dump(),q{ }; # Use Devel::Symdump to dump the functions: require $file; my @subs; for my $package(@packages) { my $obj=Devel::Symdump->new($package); push @subs,$obj->functions; #warn Data::Dumper->new([\@subs],[qw(*functions)])->Deepco +py(1)->Indent(1)->Maxdepth(3)->Sortkeys(1)->Dump(),q{ }; }; return \@subs; }; print "@{scan4subs('Fee.pm')}";
which for the above chunk of code returns this
Fee::one Fi::two Fi::four Foo::threeIn reply to Re: extracting subroutine names (together with their packages) via PPI
by clueless newbie
in thread extracting subroutine names (together with their packages) via PPI
by clueless newbie
For: | Use: | ||
& | & | ||
< | < | ||
> | > | ||
[ | [ | ||
] | ] |