This is a module I am working on, but haven't debugged yet. Looking for comments on what the name of the module should be if Apache::Handlers is not a good name. General comments on design are welcome as well.
NAME Apache::Handlers SYNOPSIS In code: use Apache::Handlers qw(CLEANUP PerlCleanupHandler); our $global; our $other_global : PerlCleanupHandler; my $lexical : PerlLogHandler(sub { print STDERR "$lexical\n"; }); CLEANUP { our $global = undef; }; In httpd.conf: PerlModule Apache::Handlers PerlChildInitHandler Apache::Handlers DESCRIPTION "Apache::Handlers" provides two different methods of declaring when code snippets should be run during the Apache request phase. If "Attribute::Handlers" is available, then attributes are defined that allow cleanup or setting of values during particular request phases. The code defined with the constructs provided by this module do not directly affect the success or failure of the request. Thus, this module does not provide a replacement for content, access, or other handlers. BLOCK CONSTRUCTS The following allow for blocks of code to be run at the specified phase. Note that these are subroutines taking a single code reference argument and thus require a terminating semi-colon (;). They are named to be like the BEGIN, END, etc., constructs in Perl, though they are not quite at the same level in the language. If the code is seen and handled before Apache has handled a request, it will be run for each request. Otherwise, it is pushed on the handler stack, run, and then removed at the end of the request. ACCESS AUTHEN AUTHZ CHILDEXIT CHILDINIT CLEANUP CONTENT FIXUP HEADERPARSER LOG POSTREADREQUEST TRANS TYPE ATTRIBUTES If Attribute::Handlers is available, then the following attributes are available. If the attribute argument is a constant value (non-CODE reference), then the variable is assigned that value. Otherwise, the CODE is run and the return value is assigned to the variable. PerlAccessHandler PerlAuthenHandler PerlAuthzHandler PerlChildInitHandler PerlChildExitHandler PerlCleanupHandler PerlFixupHandler PerlHandler PerlHeaderParserHandler PerlLogHandler PerlPostReadRequestHandler PerlTransHandler PerlTypeHandler -- James Smith <[EMAIL PROTECTED]>, 979-862-3725 Texas A&M CIS Operating Systems Group, Unix