Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer

Re: regexp for finding all function calls

by marksman (Novice)
on Jul 17, 2009 at 21:16 UTC ( #781178=note: print w/replies, xml ) Need Help??

in reply to regexp for finding all function calls

I think I figured out one way to do it:

my $res = $Doc->find ( sub { if ($_[1]->class eq 'PPI::Statement') { # find all PPI::Token::Words within the statement that have # literal equal to Mod::func # non-zero return means it found something $_[1]->find(sub { $_[1]->isa('PPI::Token::Word') and $_[1]->literal eq 'Mod::func'; }) } else {return 0;} } );
Update: Figured out the line numbers too
if ($res) { foreach (@$res) { my $line = @{$_->location}[0]; print "# line number: $line \n"; print "$_\n"; } }

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://781178]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others studying the Monastery: (2)
As of 2017-07-28 01:18 GMT
Find Nodes?
    Voting Booth?
    I came, I saw, I ...

    Results (424 votes). Check out past polls.