in reply to Rule Based Game Engines
There are some good thoughts on this in Plugin based Perl app. I recommend the first approach, mostly since I took it myself; I use Parse::RecDescent for the parsing, though keep an eye out for its upcoming faster replacement. The rules parsed by my grammar allow for external modules that I require on the fly.
In Section Seekers of Perl Wisdom