I have used embperl and the extensions for building sites, EmbPerl::Object. I cannot comment on Mason, but it seems to be pretty good as well.
Advantages of EmbPerl::Object:
- It has good seperation of code and HTML - so it doesn't freak HTML types out;
- Simple and easy to learn - I taught a person with little exposure to any form of CGI programming (and perl) how to manage the large site I had developed using embperl::object, and she picked up the concepts, and was able to take over my role within two days.
- An easy to implement (and easy to understand) heirarchical "object inheritance" mechanism - so you can easily have a different page element, such as a side navigation bar, for a subset of your site;
- An active and well supported mailing list.
There was a good introduction to EmbPerl::Object on the perl.com site a few months ago. This even included instrustions on how to modify your Apache configuration to activate embPerl.
One other big advantage - you can control what pages are build by embperl. You could say that anything with a ".html" extension is to be managed by embperl, and if you have those pages that you wish to be untouched by embperl, simply call them "foobar.htm".