Ho alcuni problemi con modulo PPI:PPI :: Errore del documento o un nome di subroutine speciale?
assumere ho Foo.pm:
package Foo;
sub foo0 { 1; }
sub foo1 { 1; }
sub foo2 { 1; }
sub foo3 { 1; }
1;
e voglio utilizzare PPI per ottenere tutti i sub:
#!/usr/bin/env perl
use PPI;
my $filename = shift;
my $Document = PPI::Document->new($filename);
my $subs = $Document->find('PPI::Statement::Sub');
warn $#$subs;
come risultato i ha '3' che è corretto.
, ma quando uno dei miei sottotitoli nella Foo.pm si chiama 'sub vN ...', dove N è un numero, fe:
sub v1foo {}
o
sub v3bar {}
o semplicemente
sub v2 {}
PPI :: Il documento trovato sembra interrompere l'analisi e restituisce solo i sottotitoli già trovati. Quindi, se modifico Foo:
package Foo;
sub foo0 { 1; }
sub foo1 { 1; }
sub v2xx { 1; }
sub foo3 { 1; }
1;
risultato del mio test sarebbe "1" (trovate riserve sono foo0 e foo1)
sta dichiarando subroutine nomi come v [0..9] in qualche modo proibito?
Saluti.
Suggerimento: http://p3rl.org/data#Version-Strings – daxim