in reply to Regex with lookahead

Might this be what you really want? Parse::RecDescent