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;

Посилання[ред. | ред. код]

Література[ред. | ред. код]