in reply to Understanding someone else's parser
In addition there is Rx. You can also try Komodo from Active State, which, IIRC, is based on Rx.
I also recommend checking out GraphViz::Regex.
HTH, --traveler