I thought Text::MicroMason was awesome until I had a cascade of painful run-ins with its horrible error reporting. That basically puts it out of the race, since the quality of error reporting is a prime usability factor for programming environments.