Home / What is mod_perl? / | ||||
Content Handler Example | ||||
|
||
Handlers are simply perl subroutines called by the server at various
stages of the HTTP request cycle. A content handler is a subroutine
that is called by the response phase. Handlers, are typically created
as a perl modules, separate files store in a library, and accessible
via perl's @INC
array.
For example, here's an example that returns a greeting and the current local time.
file:My/Greeting.pm ------------------- package My::Greeting; use strict; use Apache::Constants qw(OK); sub handler { my $r = shift; my $now = scalar localtime; my $server_name = $r->server->server_hostname; $r->send_http_header('text/plain'); print <<EOT; Thanks for visiting $server_name. The local time is $now. EOT return OK; } 1; # modules must return true
Save the above as a file file in your perl library (e.g. My/Greeting.pm). Now, to return the above greeting when the URL /hello is visited on your server:
<Location /hello> SetHandler perl-script PerlHandler My::Greeting </Location>
For a more in-depth explanation of creating mod_perl handlers, and mod_perl in general, see the mod_perl Guide.
« back
|