[Cascavel-pm] Módulo para utilizar "rules" em Perl5

Flavio S. Glock fglock em gmail.com
Segunda Março 13 14:13:17 PST 2006


Publicado agora no CPAN:

      use Pugs::Compiler::Rule;

      my $rule = Pugs::Compiler::Rule->compile( '((.).).' );
      my $match = $rule->match( 'abc' );

      if ($match) {               # true
            print $match;           # "abc"
            print $match->from;     # 0
            print $match->to;       # 3
            print $match->[0];      # "ab"
            print $match->[0][0];   # "a"
      }

A principal diferença entre "rule" e expressões regulares é que a rule
retorna uma estrutura de dados mais útil.
Se estivesse utilizando regex, no exemplo acima você teria $1='ab', $2='a'.

O módulo é versão 0.01, e a implementação ainda é incompleta - quem
quiser colaborar, apareça no #perl6 (irc.freenode.org). A idéia é
implementar toda a especificação
(http://dev.perl.org/perl6/doc/design/syn/S05.html)

- Flavio S. Glock


Mais detalhes sobre a lista de discussão Cascavel-pm