use strict; use warnings; use Parse::RecDescent; my $grammar = q( START: numbers numbers: number(s) number:/\d+/ { print "found a number"; } ); Parse::RecDescent->new($grammar)->START("123 foo 345 bar");