mod_perl
mod_perl — додатковий модуль для вебсервера Apache, що інтегрує інтерпретатор мови програмування Perl.
Однією з переваг використання mod_perl є значне (іноді у 200 разів) збільшення пропускної здатності вебсервісів написаних з використанням mod_perl. Це зумовлено тим, що вебсерверу не треба для кожного запиту запускати інтерпретатор Perl, код компілюється одноразово при старті вебсервера.
Також mod_perl забезпечує повний доступ до API вебсервера, що дозволяє програмісту мати доступ до кожного етапу обробки запиту вебсервером. Слід зазначити, що mod_perl надає можливість розробки динамічних конфігураційних файлів вебсервера Apache написаних на Perl, що є досить унікальною особливістю.
Приклад динамічног конфігураційного файлу вебсервера Apache
<Perl>
my $host = 'example.net';
push @{$VirtualHost{'*:8080'}}, {
ServerName => $host,
DocumentRoot => '/var/www/'.$host,
PerlSwitches => '-Mlib=/var/www/'.$host.'/lib',
PerlOptions => '+Parent -ParseHeaders',
Location => {
'/' => {
SetHandler => 'perl-script',
SetInputFilter => 'apreq2',
PerlResponseHandler => 'Index'
}
}
};
</Perl>
Приклад обробки запиту для вище зазначеного конфігураційного файлу
package Index;
use Apache2::Const qw/OK/;
sub handler {
my $r = shift;
$r->content_type('text/html');
print 'Hello world';
return OK;
}
1;
- головний сайт [Архівовано 17 червня 2019 у Wayback Machine.](англ.)
- Practical mod_perl [Архівовано 3 травня 2019 у Wayback Machine.] is a complete book available online.(англ.)
- mod_perl Developer’s Cookbook [Архівовано 26 червня 2019 у Wayback Machine.] with sample chapters.(англ.)