René Nyffenegger's collection of things on the web | |
René Nyffenegger on Oracle - Most wanted - Feedback
- Follow @renenyffenegger
|
$return [Parse::RecDescent] | ||
use strict; use warnings; use Parse::RecDescent; my $grammar = q { start : numchr(s) numchr : number {$return = "numchr: $item[1]"} | charac {$return = "numchr: $item[1]"} number : /\d+/ {$return = "number: $item[1]"} charac : /[a-z]+/ {$return = "charac: $item[1]"} }; my $parser=Parse::RecDescent->new($grammar); print join "\n", @{$parser->start("123one456two")}; numchr: number: 123 numchr: charac: one numchr: number: 456 numchr: charac: two |