in reply to Parse::RecDescent
It should be emphasized that Parse::RecDescent is strictly more powerful than the lex/yacc approach. E.g., it is relatively simple to write a parser that reconfigures its parsing rules on the fly, based on its input. All in all, if you are familiar with Perl and parsing, Parse::RecDescent is the way to go, especially for self-modifying systems.
Brainbench MVP for Perl