tengo algunos problemas con el módulo PPI:PPI :: ¿Error del documento o algún nombre de subrutina especial?
asume que tengo Foo.pm:
package Foo;
sub foo0 { 1; }
sub foo1 { 1; }
sub foo2 { 1; }
sub foo3 { 1; }
1;
y quiero utilizar PPI para obtener todos los submarinos:
#!/usr/bin/env perl
use PPI;
my $filename = shift;
my $Document = PPI::Document->new($filename);
my $subs = $Document->find('PPI::Statement::Sub');
warn $#$subs;
como resultado i tiene '3' que es correcto.
pero cuando uno de mis suscriptores en Foo.pm se llama 'sub vN ...', donde N es un número, Fe:
sub v1foo {}
o
sub v3bar {}
o simplemente
sub v2 {}
PPI :: El documento encontrado parece interrumpir el análisis y devuelve solo los subs ya encontrados. Así que si modifico Foo:
package Foo;
sub foo0 { 1; }
sub foo1 { 1; }
sub v2xx { 1; }
sub foo3 { 1; }
1;
resultado de mi prueba sería "1" (submarinos que se encuentran son foo0 y foo1)
está declarando nombres como subrutinas v [0..9] alguna manera prohibidos?
Saludos.
Consejo: http://p3rl.org/data#Version-Strings – daxim