The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Apache/Perl Modules

Description

On CPAN you will be able to find a number of Perl modules created to run under mod_perl. We will give a presentation of them here and ways to get at these modules.

Apache/Perl modules are somewhat different from the many others found on CPAN (http://www.cpan.org/). Most Perl modules are "building blocks"; developers use them to build applications or even more building blocks. It just so happens that Apache/Perl modules are encapsulted inside a namespace and .pm file. However, this does not make them all building blocks, many are just like Apache modules written in C: you install them, edit the server configuration files and you're done.

Before you start a new module, consider this: Apache/Perl modules are useless outside of mod_perl and Apache. Do your best to design such that your Apache::* module will make good use of the building blocks found on CPAN, putting together new building blocks where appropriate and simply glue them together with the Apache API, keeping the Apache::* modules very small.

These modules will also serve as good examples, showing you where modules can step in during a stage of a request with Perl*Handler callbacks. You'll also see how and when to use the Apache API methods.

Playing Your Part

Apache and Perl are world-wide collaborative efforts; naturally, the Apache/Perl integration project is the same. You've started on the right foot simply by reading this document, thanks! Please make sure you've read the main Perl module list at http://www.cpan.org/modules/00modlist.long.html, all that is said there is relevant here!

If you wish to share your module(s) in the Perl way, by putting them on CPAN, send a request to modules@perl.org to get set up with a PAUSE user id and directory. See http://www.cpan.org/modules/04pause.html for more details.

HINT: For a nice set of template files try this:

  % h2xs -AX -n Apache::YourPackageName

The Module List

Like other CPAN modules, the Apache/Perl modules are listed on the Perl module list, under the World Wide Web category: http://www.cpan.org/modules/00modlist.long.html#ID15_WorldWideW . Browse down the page to find the Apache:: modules, organized by their role in the requets cycle.

Where Are The Modules Kept?

Modules listed with the APML as is contact are part of the mod_perl distribution package. Other modules can be found on CPAN in the http://www.cpan.org/modules/by-module/Apache/ directory. If they have not made it to CPAN yet, they might be found in the mod_perl contrib directory at http://perl.apache.org/dist/contrib/. Otherwise, feel free to ask the contact author or the list how you can go about getting your hands on a copy. The modules listed with MPB as the author were present in the Writing Apache Modules with Perl and C book by Lincoln Stein and Doug MacEachern. If you can't find these modules on CPAN, look for them at http://modperl.com:9000/book/source/.