Use Perl 5.10. With its named captures in regexes, and the ability to use them as 'rules', translating EBNF into regexes is quite easy. In fact, I don't think it'll be hard to write a program that takes an EBNF grammar and returns a regular expression matching the same strings.
And you may want to have a look at Parse::RecDescent. Any EBNF grammar is a recursive descent grammar (but not every recursive descent grammar can be expressed in EBNF).