Off the top of my head:
- The Perl interpreter is embedded in the web server, so it doesn't have to spawn off a seperate process to run your Perl script.
- The Perl interpreter is embedded in the web server, so it only needs to load your modules and scripts once (kinda), instead of once for every request. This speeds things up.
- You can hook to any phase of the request processing, not just the content phase. That means you could write a custom log generator, or use your own authentication mechanism for images without actually serving up the images in your Perl script.
- Access to the web server's internal. This speeds things up and reduces the work the Perl script needs to do.
- You can use Perl in Apache's configuration file
- It gives you the ability the run modules which require mod_perl, etc.
There should be something on the subject at the mod_perl website.