As we mentioned earlier, Apache 2.0 uses two APIs:
The Apache Portable Runtime (APR) API, which implements a portable and efficient API to generically work with files, threads, processes, shared memory, etc.
The Apache API, which handles issues specific to the web server
mod_perl 2.0 provides its own very flexible special-purpose XS code generator, which is capable of doing things none of the existing generators can handle. It's possible that in the future this generator will be generalized and used for other projects of a high complexity.
This generator creates the Perl glue code for the public APR and Apache APIs, almost without a need for any extra code (just a few thin wrappers to make the API more Perlish).
Since APR can be used outside of Apache, the Perl APR:: modules can be used outside of Apache as well.
 
Continue to: