What is mod_perl?
What is mod_perl?
It's 3:00 a.m. You're still working on that Web project, but you completed all the required functionality hours ago. Your still tied to your keyboard because of the sheer joy and feeling of power that comes from programming in mod_perl. Instead of sleep, you're adding extra features, improving performance, and using clever techniques that are simply unavailable in any other Web development environment.
People with just a cursory knowledge of mod_perl will tell you that it is simply a CGI acceleration engine; something that makes Perl-based Web sites run faster. Although mod_perl provides a mechanism for faster CGI, it is hardly the most interesting or powerful aspect of mod_perl, and it certainly isn't what keeps mod_perl developers excited about their work.
Apache offers a rich and robust framework for Web development. An architecture is built right into Apache, that allows for an easy way to program how Apache, for instance, authenticates a user or maps a request to a file on disk. This framework makes programming complex Web applications easier and more manageable, sometimes even providing a solution to problems that would be impossible without it.
The only down side to Apache's native architecture is that taking advantage of it requires programming Web applications in C. For the stable of talented Web developers who prefer the power and flexibility of Perl, this requirement keeps the Apache framework out of reach. Enter mod_perl.
mod_perl is the Perl interface to the Apache C API that offers developers the ability to program Apache with Perl instead of C. With mod_perl, developers can use Perl to override default Apache behaviors, insert new functionality, or just sit back and let Apache continue doing what it does best. In essence, mod_perl gives Perl developers the ability to put every aspect of Apache under their control so that they can program within the Apache framework instead of around it.
The power and flexibility mod_perl places at your fingertips is hard to appreciate without experiencing it for yourself. Even then, you'll find yourself facing undiscovered and amazing possibilities every time you sit down to code. It might even get to the point where you finally look up, see that it's 3:00 a.m, and can't even dream of slowing down.