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

Changes for version 1.28

  • Apache::FakeRequest now isa Apache so code that is carefull about $r and checks that $r->isa('Apache') will not fail [David Wheeler <david@kineticode.com]
  • Add Mac OS X support to Apache::SizeLimit [David Wheeler <david@kineticode.com>]
  • Add Win32 support to Apache::SizeLimit [Matt Phillips <mphillips@virage.com> and Mohamed Hendawi <mhendawi@virage.com>]
  • Change Apache::SizeLimit to not push a cleanup handler if already in the cleanup handler phase, and adjust docs to show that cleanup handler is the preferred phase to use [Perrin Harkins <perrin@elem.com>]
  • Rename Apache::test to Apache::testold because Apache::test on case-insensitive systems will collide with Apache::Test which supercedes Apache::test. So if you want to keep on using Apache::test, either bundle it with your project (putting it under inc/ or t/ so it won't be installed) or require mod_perl 1.28 and use Apache::testold instead. Of course the best route is to port your test suite to use a much better Apache::Test which work with mod_perl 1.0 and 2.0.
  • Philippe M. Chiasson, Stas Bekman
    • Tweak mod_perl.h to defined _INCLUDE_APACHE_FIRST only after apache headers were included [Stas Bekman]
    • avoid various warnings under src/modules/perl/:
    • declare bufsiz to be STRLEN in Apache.xs, and add STRLEN to Apache/typemap
    • add I32 typecast in Constants.xs
    • avoid use of unregistered local variables for Win32 in mod_perl.c and perl_config.c
    • s/I32/U8/ in mod_perl.h, perl_config.c, and perl_util.c
    • declare i and http_code to be STRLEN in perl_util.c
  • Stas Bekman, Randy Kobes
    • don't use $r variable in Apache::PerlRun::compile(), so the script won't use use inherited $r by mistake [Stas Bekman]
    • define PERL_DIRECTIVE_HANDLERS so that ModuleConfig.c gets generated when building on Win32 within Visual Studio
  • John Petrakis <jpetrakis@rcn.com>
    • enable PERL_SECTIONS for Win32 [Dirk Maetens <dirk.maetens@chello.be>]
    • use touch() from ExtUtils::Command, rather than a system touch(), for the benefit of platforms without touch(). [Randy Kobes <randy@theoryx5.uwinnipeg.ca>]
    • can't let the default typemap rule to convert sv into char* in unescape_url, since it doesn't handle correctly undefs (returns an unallocated "" string, which then causes a segfault in ap_unescape_url. use SvPV_force, instead, which does the right thing. [Stas Bekman]
    • Make sure to start perl, if it's not running, before processing Perl* directives, with threaded perl and PERL_STACKED_HANDLERS=0 [Stas Bekman]
    • Add Apache::Module to Bundle::Apache [Stas Bekman]
    • use $Config{'installstyle'} instead of hardcoded 'lib', to handle Makefile.PL's PREFIX option correctly [Philippe M. Chiasson <gozer@cpan.org>]
    • prevent segfaults in mod_perl_mark_where() when a sub can't get resolved [Gerald Richter <richter@ecos.de>]
    • Apache::Status: Need to load B::Terse/TerseSize if it wasn't loaded yet in that child before using it. [Dan Sully <daniel@electricrain.com>]
    • document the server_root_relative() method [Stas Bekman <stas@stason.org>]
    • eliminate warnings when flushing functions with empty () prototypes in Apache::PerlRun::flush_namespace [Yair Lenga <yair.lenga@citigroup.com>]
    • fix Apache::Status to not use :: in filenames, which is not allowed on certain OSs [DH <crazyinsomniac@yahoo.com>]
    • various cygwin fixes [Per Einar Ellefsen <per.einar@skynet.be>]
    • fix to compile with 5.8.0 on win32 [Randy Kobes <randy@theoryx5.uwinnipeg.ca>]
    • Document the possible misuses of the Apache::Constant constants
  • Per Einar Ellefsen <per.einar@skynet.be>

Documentation

using LWP::Simple and Benchmark.pm to benchmark mod_perl
benchmark mod_perl vs. CGI with File::CounterFile
First steps needed to use mod_perl as a CGI replacement
accessing the Apache API via mod_perl ($Date: 2000/03/05 11:57:55 $)
running CGI scripts under mod_perl ($Date: 2000/03/05 11:57:55 $)
frequently asked questions about mod_perl ($Date: 2002/03/25 02:57:59 $)
Embed a Perl interpreter in the Apache HTTP server
Access to the mod_perl CVS development tree
How to use mod_perl's MethodHandlers
common/known mod_perl traps
mod_perl performance tuning

Modules

Perl interface to the Apache server API
Constants defined in apache header files
advanced functions for manipulating files at the server side
Module for tracking memory leaks in mod_perl code
Interface to Apache logging
XS implementation of Apache::PerlRun/Apache::Registry
Things for symbol things
Perl interface to the Apache table structure
URI component parsing and unparsing
Interface to Apache C util functions
Utilities for debugging embedded perl code
Utils for Apache:C/Perl glue
fake request object for debugging
Utilities for mod_perl/mod_include integration
OPT_* defines from httpd_core.h
Run unaltered CGI scripts under mod_perl
Utilities for work with <Perl> sections
Properly set redirect status for loggers
Run unaltered CGI scrips under mod_perl
Compile Apache::Registry scripts at server startup
Limit resources used by httpd children
Override apache signal handlers with Perl's
Because size does matter.
Reload %INC files when updated on disk
Embedded interpreter status information
Symbol table snapshots
Generate an httpd.conf file
Methods for locating and parsing bits of Apache source code
Facilitates testing of Apache::* modules
Install Apache mod_perl and related modules

Provides

in Connection/Connection.pm
in lib/Apache/FakeRequest.pm
in lib/Apache/Constants/Exports.pm
in ModuleConfig/ModuleConfig.pm
in lib/Apache/Opcode.pm
in lib/Apache/httpd_conf.pm
in lib/Apache/RegistryBB.pm
in lib/Apache/RegistryNG.pm
in Server/Server.pm
in lib/Apache/Registry.pm
in lib/mod_perl.pm