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

Changes for version 0.97_02

  • added documentation for stacked handlers and a little for method handlers.
  • $^X is now set to server_argv0 as suggested by Frank Cringle
  • Apache::Registry will now require CGI.pm version 2.35 or higher if you are using it. Makefile.PL will also test and warn if it is < 2.35
  • removed examplish modules from the distribution into the contrib directory: AuthzAge.pm, AccessLimitNum.pm, MsqlProxy.pm, SSI.pm the contrib directory will be tar'd and uploaded to CPAN when updated.
  • added headers.t test for Perl(New)SendHeader
  • added option to link httpd with static Apache.o (the original way), (Eric Bartley reported problems on aix with Apache.so, others?) like so: perl Makefile.PL STATIC=1
  • only bother setting $$ once per-child
  • %ENV is now cleared by a registered cleanup function, rather than after PerlHandler is called
  • applied patch from Andreas to ensure APACHE_SSL is defined if we're configuring with it
  • putback -DSERVER_SUBVERSION now that netscape workaround is in 1.2b9
  • PerlNewSendHeader enhancement so headers don't need to be part of a single print statement.
  • applied fix from Rob Hartill so Makefile.PL can parse beta version >= 10!
  • properly initialize cld->new_sendheader thanks to Rob Hartill
  • $r->print is now an xsub for speedup, even with the new extra operation of checking $|, it's faster:
    • Benchmark: timing 100 iterations of 0.97_01, 0.97_02... 0.97_01: 9 secs ( 2.03 usr 0.19 sys = 2.22 cpu) 0.97_02: 8 secs ( 1.84 usr 0.17 sys = 2.01 cpu)
  • sfapachewrite() will now call Apache->print
  • if $| is non-zero, call rflush() after writing to the client
  • $| is reset to 0 before PerlHandler is called
  • applied patch from Eric Bartley to: -add get_remote_logname() method -update Apache.pm documentation including: get_remote_logname, auth_type, auth_name, document_root, notes
  • fix so $r->rflush works with older apache's

Changes for version 0.97_01

  • added experimental `PerlNewSendHeader' config directive works like `PerlSendHeader', but scans headers for special headers like Location:, Status:, etc. simply uses a C global variable `sent_header', if true, sends data asis to client, otherwise calls $r->send_cgi_header currently, does not work with sfio (yet) and this only works if a single print statement sends the headers like so:
    • print "Status: 302\n", "Location: http://www.somewhere.com/\n", "Content-type: text/html\n\n";
  • "fixed" new preg* clashes w/ 1.2b9-dev spotted by Dean Gaudet
  • reworked callback mechanism a bit:
  • folded duplicate code in run_stacked_handlers() + perl_call()
  • gv_fetchmethod called only if -DPERL_METHOD_HANDLERS
  • perl_handler_ismethod now() uses class stash in gv_fetchmethod
  • cache CV from perl_get_cv lookup if -DPERL_STACKED_HANDLERS
  • included patch from Eric Bartley so we can say: `Class->method' in Perl*Handler's if -DPERL_METHOD_HANDLERS
  • fixed bug spotted by Rob Hartill so Perl*Handler (OK|DECLINED) work again
  • added minimal tests for stacked handlers and method handlers
  • PERL_METHOD_HANDLERS=1 can be set when running Makefile.PL
  • PerlCleanupHandler now uses register_cleanup underneath, instead of abusing the logger slot. PerlCleanupHandler is enabled by default
  • added PRINTF for tie'd STDOUT
  • detached Apache.o from httpd, now a dynamic extension. here's why:
  • shinks httpd size
  • possible to 'use Apache ()' outside of httpd (very few methods will work though!)
  • once mod_perl.c settles it will be possible to upgrade mod_perl without rebuilding httpd!
  • added $r->server_root_relative function
  • Apache::Status has 2 new menu items (need Devel::Symdump 1.99_01+):
    • "Inheritance Tree"
    • "ISA Tree"
  • added new CGI.pm tests from Andreas

Documentation

Embed a Perl interpreter in the Apache server

Modules

Perl interface to the Apache server API
Constants defined in httpd.h
Utilities for debugging embedded perl code
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/CGI.pm
in lib/Apache/CGI.pm