i have some problems with PPI module:
assume i have Foo.pm:
package Foo;
sub foo0 { 1; }
sub foo1 { 1; }
sub foo2 { 1; }
sub foo3 { 1; }
1;
and i want to use PPI to get all the subs:
#!/usr/bin/env perl
use PPI;
my $filename = shift;
my $Document = PPI::Document->new($filename);
my $subs = $Document->find('PPI::Statement::Sub');
warn $#$subs;
as result i got '3' which is correct.
but when one of my subs in Foo.pm is called 'sub vN...', where N is a number, f.e.:
sub v1foo {}
or
sub v3bar {}
or simply
sub v2 {}
PPI::Document find seems to break parsing and returns only the already found subs. So if i modify Foo:
package Foo;
sub foo0 { 1; }
sub foo1 { 1; }
sub v2xx { 1; }
sub foo3 { 1; }
1;
Result of my test would be "1" (found subs are foo0 and foo1)
Is declaring subroutines names like v[0..9] somehow forbidden?
Greetings.