in reply to Parsing Boolean expressions

The go-to module for expression parsing is Parse::RecDescent. It won't work right out of the box. You'll have to give it a grammar, but that's not hard to do.