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

Changes for version 1.00

  • some 1.3a1 compatible things:
  • mod_perl is now a dll under win32 (Extra thanks to Gurusamy Sarathy for fixing Perl so this works)
  • cope with limit() -> limit_section() rename
  • API_EXPORT perl_call_handler and perl_stdout2client for mod_include/win32
  • added win32 dirent.h kludge to workaround conflict(s) between perl's dirent.h apache's readdir.h
  • -Wall clean again
  • added new sub request methods:
  • lookup_uri (sub_req_lookup_uri)
  • lookup_file (sub_req_lookup_file) The returned request_rec * is blessed into the `Apache::SubRequest' class so destroy_sub_req() is called automatically during DESTROY
  • the run_sub_req() function is available in this class as the run() method
  • added patched Makefile.tmpl-Xcert from Vivek Khera to support XCert's Stronghold Sentry
  • $r->cgi_header_out should do case-insensive checks, bug spotted by Ralf Engelschall
  • eval { bootstrap Apache::Constants } so perl -c works outside of httpd
  • added `PerlChildExitHandler' callback hook (requires 1.3a2-dev or higher)
  • added `PerlChildInitHandler' callback hook (requires 1.3a1 or higher)
  • don't enable PERL_SECTIONS or PERL_SSI unless apache version >= 1.2.0 thanks to hint from Vivek Khera
  • removed Makefile-1.2 (don't need one anymore!)
  • removed Apache->connection->close method which _nobody_ should still have their code (it has produced a warning since 0.93_01 - 03/04/97)
  • added Apache->connection methods local_addr() and remote_addr() thanks to Eric James Negaard
  • applied patch from Hakan Tandogan so mod_perl's Makefile picks up SSL_INCLUDE
  • fixed chdir/current dir bug in Apache::Registry thanks to Joel Wagner
  • =item 1.00b2 - 07/07/97
  • fixed scoping bug in Apache::Registry spotted by Marshall Dudley
  • append LockFile to t/conf/httpd.conf if SERVER_VERSION >= 1.2.1
  • add ''s for CC='$(CC)' workaround for bug spotted by David Lloyd and others
  • added Apache::Debug->import so 'use Apache::Debug level => 4' will: -level sets $Apache::Registry::Debug -define UNIVERSAL::AUTOLOAD to stop spinning when undefined sub is called -Carp::confess instead of die() -allocate $^M if $Config{cflags} =~ /EMERGENCY_SBRK/
  • croak() if should_client_block() to prevent spin into "Out of memory!"
  • make compatible with 1.2.1 r->read_length change so we don't hang on file uploads
  • can't run 'make test' as root with 1.2.1, if user `nobody' exists, use that, otherwise prompt user for `User' and `Group' as suggested by Michael Parker
  • Andrew Tennant reported that `PassEnv' didn't work. we now turn off %ENV magic when clearing %ENV so it does work
  • win32 stuff: -include handy patch for modules.c as there's no win32 Configure script yet -fixed mod_perl.h mutex #define broken-ness
  • the following will now work as expected (building {Apache,Constants}.s[ol]): perl Makefile.PL NO_HTTPD=1 DYNAMIC=1 && make thanks to hints from Bowen Dwelle
  • added Makefile.PL option where 'perl Makefile.PL EVERYTHING=1' will enable all features: ALL_HOOKS, PERL_SECTIONS, PERL_STACKED_HANDLERS, PERL_METHOD_HANDLERS, PERL_SSI
  • fixed cgi_to_mod_perl.pod mess
  • added AIX note from Eric Bartley to the INSTALL doc
  • =item 1.00b1 - 06/29/97
  • turning off $^W in Apache::Registry when using Cwd to avoid 'use of uninitialized variable' warning
  • added Apache::DESTROY to shutup AutoLoader compliants spotted by Tim Newsome
  • Constants.pm: -added constant for DONE (included with export tag ':common') -removed constants for DYNAMIC_MODULE_LIMIT, HUGE_STRING_LEN, MAX_HEADERS, MAX_STRING_LEN, METHODS
  • added benchmark/ directory with benchmarking examples
  • added pointers to Mike Stok's FAQ mirrors
  • added short-n-simple cgi_to_mod_perl document
  • fixed various Makefile.PL w/Stronghold bugs spotted Vivek Khera and Ted Corning
  • PERL_SSI=1 will work (and add -DAPACHE_SSL)
  • Makefile.tmpl is fixed up so mod_perl/x.xx is added to Server:
  • 'make test' will pause (sleep 2) between starting httpsd and running the tests
  • swap link order of Makefile.tmpl for Stronghold, regardless of version, thanks to Ted Corning
  • perl_clear_env() will now leave $ENV{TZ} in place to cure bug with hpux 9.04 spotted and suggested fix from 1Lt. Samuel S. Tai
  • Apache::Registry will now 'chdir dirname $r->filename' before the script/subroutine is compiled so 'use Foo' can find Foo.pm in '.' bug spotted by Janne Himanka
  • win32 port: -added INSTALL.win32 -added src/modules/perl/mod_perl.mak -tweaked Makefile.PL: -does not try to build httpd -generates perlxsi.c, Apache.c, Constants.c (since we use mod_perl.mak) -Apache::Registry does not test '-x $filename' if $Is_Win32 -wrap callbacks in a mutex lock/unlock
  • applied patch from Eric Bartley to fix Apache::Include
  • change Apache::Registry behavior back to returing $r->status instead of OK

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
Embed a Perl interpreter in the Apache HTTP server

Modules

Perl interface to the Apache server API
Constants defined in httpd.h
Utilities for debugging embedded perl code
Utilities for mod_perl/mod_include integration
OPT_* defines from httpd_core.h
Run unaltered CGI scrips under mod_perl
Embedded interpreter status information
Install Apache mod_perl and related modules

Provides

in lib/Apache/Registry.pm