Chapter 15. Web Server Programming with mod_perl

mod_perl is an Apache module that embeds the Perl interpreter directly into Apache. There are many advantages to mod_perl:

  • Standard CGI programs can be converted to run significantly faster with little alteration under mod_perl.

  • Databases can be accessed much more efficiently under mod_perl.

  • You can write custom Apache modules and handlers easily, using Perl instead of C. mod_perl gives you access to all Apache request stages.

  • Perl code can be embedded into Apache configuration files.

  • Perl can be used for server-side includes.

  • You have access to the many tools written for mod_perl servers, such as Mason and AxKit.

mod_perl isn’t for everyone. By embedding Perl directly into the Apache httpd executable, mod_perl invokes significant overhead of its own. If you only have static documents, you certainly wouldn’t use a mod_perl-enabled version of Apache to serve them. However, if you have a lot of dynamic content, you’ll find mod_perl to be extremely powerful. You can also have the best of both worlds by designing your web site to serve static documents off a “normal” Apache server and dynamic documents off a mod_perl server.

At this writing, the release of mod_perl 2.0 is imminent, but mod_perl 1.3 is considered the stable version. mod_perl 2.0 is a near-complete rewrite that takes advantage of the threading features in Apache 2.0 and Perl 5.8. However, mod_perl 2.0 is still considered experimental. As the migration period to mod_perl ...

Get Webmaster in a Nutshell, Third Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.