mod_perl logo
perl icon







previous page: OS-specific Infopage up: mod_perl 2.0 Documentationnext page: Developer's guide


mod_perl APIs











Writing Apache Modules with Perl and C

Writing Apache Modules with Perl and C

By Lincoln Stein, Doug MacEachern
Embedding Perl in HTML with Mason

Embedding Perl in HTML with Mason

By Dave Rolsky, Ken Williams
Practical mod_perl

Practical mod_perl

By Stas Bekman, Eric Cholet


The Apache::, APR:: and ModPerl:: namespaces APIs for mod_perl 2.0

Part I: Apache:: Core API
-Apache::Access -- A Perl API for Apache request object
Apache::Access provides the Perl API for Apache request object.
-Apache::compat -- 1.0 backward compatibility functions deprecated in 2.0
Apache::compat provides mod_perl 1.0 compatibility layer and can be used to smooth the transition process to mod_perl 2.0.
-Apache::Const - Perl Interface for Apache Constants
-Apache::Directive -- A Perl API for manipulating Apache configuration tree
Apache::Directive allows its users to search and navigate the internal Apache configuration.
-Apache::Filter -- A Perl API for Apache 2.0 Filtering
Apache::Filter provides the Perl API for Apache 2.0 filtering framework
-Apache::FilterRec -- A Perl API for Apache 2.0 Filter Records
Apache::FilterRec provides the Perl API for Apache 2.0 filter records.
-Apache::Log -- Perl API for Apache Logging Methods
Apache::Log provides the Perl API for Apache logging methods.
-Apache::PerlSections - Default Handler for Perl sections
With <Perl >...</Perl> sections, it is possible to configure your server entirely in Perl.
-Apache::porting -- a helper module for mod_perl 1.0 to mod_perl 2.0 porting
Apache::porting helps to port mod_perl 1.0 code to run under mod_perl 2.0. It doesn't provide any back-compatibility functionality, however it knows trap calls to methods that are no longer in the mod_perl 2.0 API and tell what should be used instead if at all. If you attempts to use mod_perl 2.0 methods without first loading the modules that contain them, it will tell you which modules you need to load. Finally if your code tries to load modules that no longer exist in mod_perl 2.0 it'll also tell you what are the modules that should be used instead.
-Apache::RequestRec -- A Perl API for Apache request object
Apache::RequestRec provides the Perl API for Apache request object.
-Apache::RequestUtil -- Methods for work with Apache::Request object
Apache::RequestUtil provides the Perl API for Apache request object.
-Apache::ServerUtil -- Methods for work with Apache::Server object
Apache::ServerUtil provides the Perl API for Apache server object.
-Apache::SubProcess -- Executing SubProcesses from mod_perl
Apache::SubProcess provides the Perl API for running and communicating with processes spawned from mod_perl handlers.
Part II: APR:: Core API
-APR - Perl Interface for libapr and libaprutil Libraries
Normally you don't need to use this module. However if you are using an APR:: package outside of mod_perl, you need to load APR first. For example:
-APR::Const - Perl Interface for APR Constants
-APR:PerlIO -- An APR Perl IO layer
APR::PerlIO implements a Perl IO layer using APR's file manipulation as its internals.
-APR::Table -- A Perl API for manipulating opaque string-content table
APR::Table allows its users to manipulate opaque string-content tables.
Part III: ModPerl::
-ModPerl::MethodLookup -- Map mod_perl 2.0 modules, objects and methods
mod_perl 2.0 provides many methods, which reside in various modules. One has to load each of the modules before using the desired methods. ModPerl::MethodLookup provides the Perl API for finding module names which contain methods in question and other helper functions, like figuring out what methods defined by some module, or what methods can be called on a given object.
-ModPerl::MM -- A "subclass" of ExtUtils::MakeMaker for mod_perl 2.0
ModPerl::MM is a "subclass" of ExtUtils::MakeMaker for mod_perl 2.0, to a degree of sub-classability of ExtUtils::MakeMaker.
-ModPerl::PerlRun - Run unaltered CGI scripts under mod_perl
-ModPerl::Registry - Run unaltered CGI scripts persistently under mod_perl
URIs in the form of http://example.com/perl/test.pl will be compiled as the body of a Perl subroutine and executed. Each child process will compile the subroutine once and store it in memory. It will recompile it whenever the file (e.g. test.pl in our example) is updated on disk. Think of it as an object oriented server with each script implementing a class loaded at runtime.
-ModPerl::RegistryBB - Run unaltered CGI scripts persistently under mod_perl
ModPerl::RegistryBB is similar to ModPerl::Registry, but does the bare minimum (mnemonic: BB = Bare Bones) to compile a script file once and run it many times, in order to get the maximum performance. Whereas ModPerl::Registry does various checks, which add a slight overhead to response times.
-ModPerl::RegistryCooker - Cook mod_perl 2.0 Registry Modules
ModPerl::RegistryCooker is used to create flexible and overridable registry modules which emulate mod_cgi for Perl scripts. The concepts are discussed in the manpage of the following modules: ModPerl::Registry, ModPerl::Registry and ModPerl::RegistryBB.
-ModPerl::RegistryLoader - Compile ModPerl::RegistryCooker scripts at server startup
This modules allows compilation of scripts, running under packages derived from ModPerl::RegistryCooker, at server startup. The script's handler routine is compiled by the parent server, of which children get a copy and thus saves some memory by initially sharing the compiled copy with the parent and saving the overhead of script's compilation on the first request in every httpd instance.
-ModPerl::Util -- Helper mod_perl 2.0 Functions
ModPerl::Util provides mod_perl 2.0 util functions.
Part IV: Helper Modules / Applications
-Apache::Reload - Reload Perl Modules when Changed on Disk
Apache::Reload reloads modules that change on the disk.
-Apache::Status - Embedded interpreter status information
The Apache::Status module provides some information about the status of the Perl interpreter embedded in the server.
Part V: Internal Modules
-ModPerl::BuildMM -- A "subclass" of ModPerl::MM used for building mod_perl 2.0
ModPerl::BuildMM is a "subclass" of ModPerl::MM used for building mod_perl 2.0. Refer to ModPerl::MM manpage.

See www.perldoc.com for documentation of the rest of the Apache:: modules.




TOP
previous page: OS-specific Infopage up: mod_perl 2.0 Documentationnext page: Developer's guide