For simple web-based services I usually just CGI.pm. After having read a bit about HTTP::Engine I tried it for a simple project yesterday. Beside my own logic it only took a few line of code to have a stand alone HTTP server for my service.
My colleague needed it to be served from the same Apache server as the rest of his webapplication. Some tiny changes and my stand alone server was transformed into a plain CGI script. When we going to deploy the script IÃ¢Â€Â™m guessing we make some tiny changes and have it running as a mod_perl module.
Try it for you next project! Even if you usually just use CGI.pm.
[EDIT 2010-07-21: These days I would probably use Plack for the same reasons]
This is a potentially useful solution for abstracting details of various web servers. The overall quality of the code and tests look reasonable from what I've seen. However, when I tried to download this module along with its dependencies, the result was over 200 Perl modules. For me, this is too much resource penalty for the functionality it provides. By contrast, Mojo serves a similar function and no dependencies beyond core Perl modules.