Source: Wikipedia, the free encyclopedia.

Developer(s)Apache Software Foundation
Initial releaseMarch 25, 1996; 28 years ago (1996-03-25)[1]
Stable release
2.0.13 / 21 October 2023; 9 months ago (2023-10-21)[2]
TypePerl module for Apache HTTP server
LicenseApache License 2.0

mod_perl is an optional module for the Apache HTTP server. It embeds a Perl interpreter into the Apache server. In addition to allowing Apache modules to be written in the Perl programming language, it allows the Apache web server to be dynamically configured by Perl programs. However, its most common use is so that dynamic content produced by Perl scripts can be served in response to incoming requests, without the significant overhead of re-launching the Perl interpreter for each request.

Slash, which runs the web site Slashdot, is written using mod_perl.[3] Early versions of PHP were implemented in Perl using mod_perl.[4]

mod_perl can emulate a Common Gateway Interface (CGI) environment, so that existing Perl CGI scripts can benefit from the performance boost without having to be re-written.

Unlike CGI (and most other web application environments), mod_perl provides complete access to the Apache API, allowing programmers to write handlers for all phases in the Apache request cycle, manipulate Apache's internal tables and state mechanisms, share data between Apache processes or threads, alter or extend the Apache configuration file parser, and add Perl code to the configuration file itself, among other things.

See also


  1. ^ "History". mod_perl website. Apache Software Foundation. 15 February 2014. Retrieved 8 November 2022.
  2. ^ "Download". mod_perl website. Apache Software Foundation. Retrieved 20 November 2023.
  3. ^ "Slash installation". Archived from the original on 4 May 2015.
  4. ^ "Paying Homage to Perl (PHP)". February 2003. Archived from the original on 25 June 2013.