These modules will also serve as good examples, showing you where modules can step in during a stage of a request with Perl*Handler callbacks. You'll also see how and when to use the Apache API methods.
If you have any additions or changes for the list, please send them to the Apache/Perl mailing list or to me.
If you wish to share you module(s) the Perl way, by putting them on CPAN, send a request to me or modules@perl.org to get set up with a PAUSE user id and directory.
HINT: For a nice set of template files try this:
% h2xs -AX -n Apache::YourPackageName
Apache:: * PerlHandler's AddrMunge bdpf Munge email addresses in webpages MJD AutoIndex Rdcf Lists directory content GOZER Archive bdpf Make linked contents pages of .tar(.gz) JPETERSON ASP bdpO Implement Active Server Pages CHAMAS BBS cdpO BBS like System for Apache MKOSS CallHandler cdpf Map filenames to subroutine calls GKNOPS Cachet i OutputChain with caching MERLYN Compress bdpO Compress content on the fly KWILLIAM Dir i OO (subclassable) mod_dir replacement DOUGM Dispatch bmpf Call PerlHandlers as CGI scripts GEOFF Embperl Rmcf Embed Perl in HTML GRICHTER EmbperlChain bdpO Feed handler output to Embperl CHOLET ePerl Rdpr Fast emulated Embedded Perl (ePerl) RSE Filter RdpO OutputChain like functionality KWILLIAM Forward bdpO OutputChain like functionality MPB FTP i Full-fledged FTP proxy PMKANE Gateway bdpf A multiplexing gateway CCWF GzipChain bmpf Compress files on the fly ANDK iNcom bdpf An e-commerce framework FRAJULAC Layer bdpf Layer content tree over one or more SAM Magick bdpf Image conversion on-the-fly MPB Mason bdpO Build sites w/ modular Perl/HTML blocks JSWARTZ ModuleDoc bdpf Self documentation for Apache C modules DOUGM NavBar bdpO Navigation bar generator MPB NNTPGateway adpf A Web based NNTP (usenet) interface BOUBAKER OutputChain bmpO Chain output of stacked handlers JANPAZ OWA bdpf Runs Oracle PL/SQL Web Toolkit apps SVINTO PageKit ampO Application framework w/ HTML::Template TJMATHER PassFile bdpf Send file via OutputChain ANDK PerlRun Smpf Run unaltered CGI scripts APML PrettyPerl Rdpf Syntax highlighting for Perl files RA PrettyText bdpf Re-format .txt files for client display CHTHORMAN RandomLocation bdpf Random image display RKOBES Registry Smpf Run unaltered CGI scripts APML RobotRules cdpf Enforce robot rules (robots.txt) PARKER Sandwich bmpf Layered document (sandwich) maker VKHERA ShowRequest bdpf Show phases and module participation DOUGM SimpleReplace ampf Simple replacement template tool GEOFF SSI RmpO Implement server-side includes in Perl KWILLIAM SSIChain bmpO SSI on other modules output JANPAZ Stage Rdpf Manage a document staging directory ANDK TarGzip c ZENIN TimedRedirect bdpf Redirect urls for a given time period PETERM UploadSvr bdpO A lightweight publishing system ANDK VhostSandwich cdpf Virtual host layered document maker MARKC WDB bdpf Database query/edit tool using DBI JROWE WebSQL cdpO Adaptation of Sybase's WebSQL GUNTHER * PerlInitHandler's RequestNotes ampf Pass cookie & form data around pnotes GEOFF * PerlHeaderParserHandler's AgentDeny cdpf Deny abusive User-Agents ROBH * PerlAuthenHandler's AuthAny bdpf Authenticate with any username/password MPB AuthenCache bmpf Cache authentication credentials JBODNAR AuthCookie RdpO Authen + Authz via cookies KWILLIAM AuthenDBI bmpO Authenticate via Perl's DBI MERGL AuthenGSS cdpf Generic Security Service (RFC 2078) DOUGM AuthenIMAP bdpf Authentication via an IMAP server MICB AuthenPasswdSrv bdpf External authentication server JEFFH AuthenPasswd bdpf Authenticate against /etc/passwd DEP AuthLDAP bdpf LDAP authentication module CDONLEY AuthPerLDAP bdpf LDAP authentication module (PerLDAP) HENRIK AuthenNIS bdpf NIS authentication DEP AuthNISPlus bdpF NIS Plus authentication/authorization VALERIE AuthenRaduis bdpf Authentication via a Radius server DANIEL AuthenSmb bdpf Authenticate against NT server PARKER AuthenURL bdpf Authenticate via another URL JGROENVEL DBILogin bdpf Authenticate to backend database JGROENVEL DCELogin bdpf Obtain a DCE login context DOUGM PHLogin bdpf Authenticate via a PH database JGROENVEL TicketAccess bdpO Ticket based access/authentication MPB * PerlAuthzHandler's AuthCookie bdpf Authen + Authz via cookies EBARTLEY AuthzAge bmpf Authorize based on age APML AuthzDCE cdpf DFS/DCE ACL based access control DOUGM AuthzDBI bmpO Group authorization via Perl's DBI MERGL AuthzGender bdpf Authorize based on gender MPB AuthzNIS bdpf NIS authorization DEP AuthzPasswd bdpf Authorize against /etc/passwd DEP AuthzSSL bdpf Authorize based on client cert MPB RoleAuthz i Role-based authorization DOUGM * PerlAccessHandler's AccessLimitNum bmpf Limit user access by number of requests APML BlockAgent bdpf Block access from certain agents MPB DayLimit bmpf Limit access based on day of week MPB IPThrottle cdpf Limit bandwith consumption by IP MERLYN RobotLimit cdpf Limit access of robots PARKER SpeedLimit bdpf Control client request rate MPB * PerlTypeHandler's AcceptLanguage cdpf Send file type based on language pref ROBH MIME bdcf Perl implementation of mod_mime MPB MimeDBI bdpf Type mapping from a DBI database MPB MimeXML bdpf mime encoding sniffer for XML files MSERGEANT * PerlTransHandler's (May also include a PerlHandler) AdBlocker bdpf Block advertisement images MPB AddHostPath adpf Prepends parts of hostname to URI RJENKS AnonProxy bdpf Anonymizing proxy MPB Checksum bdpf Manage document checksum trees MPB DynaRPC i Dynamically translate URIs into RPCs DOUGM LowerCaseGETs bdpf Lowercase URI's when needed PLISTER MsqlProxy bmpf Translate URI's into mSQL queries APML ProxyPass bdpf Perl implementation of ProxyPass MJS ProxyPassThru bdpO Skeleton for vanilla proxy RMANGI ProxyCache i Caching proxy DOUGM StripSession bdpf Strip session info from URI MPB Throttle bdpf Speed-based content negotiation DONS TransLDAP bdpf Translate URIs to LDAP queries CDONLEY * PerlFixupHandler's HttpEquiv bdpf HTML HTTP-EQUIV tags to HTTP headers ROBH RefererBlock bdpf Block based on MIME type + Referer CHOLET Timeit bmpf Benchmark PerlHandlers APML Usertrack bdpf Perl version of mod_usertrack ABH * PerlLogHandler's DBILogConfig bdpf Custom format logging via DBI JBODNAR DBILogger bdpf Logging via DBI ABH DumpHeaders bdpf Watch HTTP transaction via headers DOUGM LogMail bdpf Log certain requests via email MPB Traffic bdpf Logs bytes transferred, per-user basis MAURICE WatchDog c Look for problematic URIs DOUGM * PerlChildInitHandler's Resource Smpf Limit resources used by httpd children APML * Server Configuration ConfigLDAP i Config via LDAP and <Perl> MARKK ConfigDBI i Config via DBI and <Perl> MARKIM ModuleConfig SmcO Interface to configuration API APML PerlSections SmpO Utilities for <Perl> sections APML httpd_conf bmpO Methods to configure and run an httpd APML src SmpO Finding and reading bits of source APML * Database DBI bmpO Persistent DBI connection mgmt. MERGL Sybase::DBlib bmpO Persistent DBlib connection mgmt. BMILLET Sybase::CTlib bapO Persistent CTlib connection mgmt. MDOWNING Mysql bdpO Persistent connection mgmt. for Mysql NJENSEN * Interfaces and integration with Apache C structures and modules Apache SmcO Interface to request_rec struct + API APML Backhand bdcr Bridge between mod_backhand + mod_perl DLOWE CmdParms SmcO Interface to Apache cmd_parms struct APML Command bmcO Interface to Apache command_rec struct APML Connection SmcO Inteface to Apache conn_rec struct APML Constants Smcf Constants defined in httpd.h APML ExtUtils SmpO Utils for Apache:C/Perl glue APML File SmcO Methods for working with files APML Handler bmcO Interface to Apache handler_rec struct APML Log SmcO ap_log_error interface APML LogFile bmcO Interface to Apache's piped logs, etc. APML Module bmcO Interface to Apache module struct APML Scoreboard RdcO Perl interface to Apache's scoreboard.h DOUGM Server SmcO Interface to Apache server_rec struct APML SubProcess cmcO Interface to Apache subprocess API APML Table SmcO Interface to Apache table struct + API APML URI SmcO URI component parsing and unparsing APML Util Smcf Interface to Apache's util*.c functions APML * HTTP Method handlers PATCH bdpf HTTP PATCH method handler MPB PUT cdpf HTTP PUT method handler SORTIZ Roaming bdpO PUT/GET/MOVE/DELETE (Netscape Roaming) JWEID * Watchdog and Monitoring tools SizeLimit Smpf Graceful exit for large children APML GTopLimit Rdpn Child exit on small shared or large mem STAS Status Smpf Embedded interpreter runtime status APML VMonitor Rdpn Visual System and Processes Monitor STAS Watchdog::RunAway Rdpn RunAway processes watchdog/terminator STAS * Development and Debug tools DB amcO Hook Perl interactive DB into mod_perl DOUGM Debug Rmpf mod_perl debugging utilities APML DebugInfo ampO Per-request data logging GEOFF DProf bmcf Hook Devel::DProf into mod_perl DOUGM FakeRequest ampO Implement Apache methods off-line APML Leak bmcf Memory leak tracking routines APML Peek amcf Devel::Peek for mod_perl APML SawAmpersand bmpf Make sure noone is using $&, $' or $` APML SmallProf bmpf Hook Devel::SmallProf into mod_perl DOUGM StatINC Smpf Reload require'd files when updated APML Symbol bmcO Things for symbol things APML Symdump bmpf Symbol table snapshots to disk APML test Smpf Handy routines for 'make test' scripts APML * Misc Byterun i Run Perl bytecode modules DOUGM Cookie amcO C version of CGI::Cookie APML Icon bdcO Access to AddIcon* configuration DOUGM Include Smpf mod_include + Apache::Registry handler APML Mmap bdcf Share data via Mmap module FLETCH Motd bmpf Add Message of the Day functionality CRAMIREZ ParseLog bdpO OO interface to Apache log files AKIRA RegistryLoader SmpO Apache::Registry startup script loader APML Request amcO CGI.pm functionality using API methods APML Safe ampO Adaptation of "safecgiperl" APML Session bmpO Maintain client <-> httpd session/state JBAKER Servlet ampO Interface to the Java Servlet engine IKLUFT SIG SmpO Signal handlers for mod_perl APML State i Powerful state engine RSE TempFile bdpf Manage temporary files TOMHUGHES Upload amcO File upload class APML
ABH Ask Bjørn Hansen <ask@netcetera.dk> AKIRA Akira Hangai <akira@discover-net.net> ANDK Andreas König <a.koenig@franz.ww.TU-Berlin.DE> APML The Apache/Perl Mailing List <modperl@perl.apache.org> BMILLETT Brian Millett <bpm@techapp.com> BOUBAKER Heddy Boubaker <boubaker@cena.fr> CCWF Charles C. Fu <ccwf@bacchus.com> CDONLEY Clayton Donley <donley@wwa.com> CHAMAS Joshua Chamas <chamas@alumni.stanford.org> CHOLET Eric Cholet <cholet@logilune.com> CHTHORMAN Chris Thorman <chris@thorman.com> CRAMIREZ Carlos Ramirez <carlos@quantumfx.com> DANIEL Daniel <daniel-authenradius@electricrain.com> DEP Demetrios E. Paneras <dep@media.mit.edu> DLOWE David Lowe <dlowe@pootpoot.com> DONS Don Schwarz <don@dons.xnet.com> DOUGB Doug Bagley <doug@dejanews.com> DOUGM Doug MacEachern <dougm@pobox.com> EBARTLEY Eric Bartley <bartley@osd.cc.purdue.edu> FLETCH Mike Fletcher <lemur1@mindspring.com> FRAJULAC Francis J. Lacoste <frajulac@insu.com> GEOFF Geoffrey Young <geoff@cpan.org> GKNOPS Gerd Knops <gerti@BITart.com> GOZER Philippe M. Chiasson <gozer@ectoplasm.dyndns.com> GRICHTER Gerald Richter <richter@ecos.de> GUNTHER Gunther Birznieks <gunther@nhgri.nih.gov> HENRIK Henrik Strom <henrik@computer.org> HMUELLER Hanno Mueller <hmueller@mail.kabel.de> IKLUFT Ian Kluft <ikluft@cisco.com> JANPAZ Honza Pazdziora <adelton@informatics.muni.cz> JBAKER Jeffrey Baker <jeff@godzilla.tamu.edu> JBODNAR Jason Bodnar <jbodnar@tivoli.com> JGROV John D Groenveld <jdg117@elvis.arl.psu.edu> JEFFH Jeffrey Hulten <jeffh@premier1.net> JROWE Jeff Rowe <beowulf@lava.net> JSWARTZ Jonathan Swartz <swartz@transbay.net> JWEID Jochen Wiedmann <joe@ispsoft.de> KWILLIAM Ken Williams <ken@forum.swarthmore.edu> LDS Lincoln D. Stein <lstein@genome.wi.mit.edu> MARKC Mark Constable <markc@goldcoast.org> MARKIM Mark A. Imbriaco <mark@itribe.net> MARKK Mark Kennedy <mtk@ny.ubs.com> MAURICE Maurice Aubrey <maurice@hevanet.com> MDARWIN Matthew Darwin <matthew@davin.ottawa.on.ca> MDORMAN Michael Alan Dorman <mdorman@calder.med.miami.edu> MDOWNING Mark Downing <mdowning@rdatasys.com> MERGL Edmund Mergl <E.Mergl@bawue.de> MERLYN Randal L. Schwartz <merlyn@stonehenge.com> MJD Mark-Jason Dominus <mjd-perl-pause2@plover.com> MJS Michael Smith <mjs@iii.co.uk> MKOSS Max Kossatzmax <kossatz@thing.at> MICB Malcolm Beattie <mbeattie@sable.ox.ac.uk> MPB mod_perl book (Doug and Lincoln) <book@modperl.com> MSERGEANT Matt Sergeant <matt@sergeant.org> RA Roman Kosenko <ra@amk.lg.ua> NJENSEN Neil Jensen <njensen@habaneros.com> PARKER Michael Parker <parker@austx.tandem.com> PETERM Peter Marshall <peterm@pageactive.com> JPETERSON Jonathan Peterson <jon@amxstudios.com> PLISTER Peter Lister <p.lister@cranfield.ac.uk> PMKANE Patrick Michael Kane <modus@pr.es.to> PTI Peter Tillemans <pti@pandora.be> RJENKS Robert Jenks <rjenks@cvsroot.org> RKOBES Randy Kobes <randy@theory.uwinnipeg.ca> RMANGI Rick Mangi <rmangi@tgix.com> ROBH Rob Hartill <robh@imdb.com> RSE Ralf S. Engelschall <rse@engelschall.com> SAM Simon Matthews <sam@peritas.com> SKANE Stephen E Kane <sek112@elvis.arl.psu.edu> SORTIZ Salvador Ortiz <sortiz@msg.com.mx> STAS Stas Bekman <stas@stason.org> SVINTO Svante Sörmark <svinto@ita.chalmers.se> TJMATHER T.J. Mather <tjmather@thoughtstore.com> TOMHUGHES Tom Hughes <tom@compton.demon.co.uk> VALERIE Valerie Delane <valerie@savina.com> VKHERA Vivek Khera <vivek@khera.org> ZENIN Byron Brummer <zenin@archive.rhps.org>