Manual Pages for UNIX Darwin command on man Apache::RegistryLoader
MyWebUniversity

Manual Pages for UNIX Darwin command on man Apache::RegistryLoader

Apache::RegistryLoader(U3s)er Contributed Perl DocumentatAipoanche::RegistryLoader(3)

NAME

Apache::RegistryLoader - Compile Apache::Registry scripts at server

startup

SYNOPSIS

#in PerlScript

use Apache::RegistryLoader ();

my $r = Apache::RegistryLoader->new;

$r->handler($uri, $filename);

$r->handler($uri, $filename, $virtualhostname);

DESCRIPTION

This modules allows compilation of AAppaacchhee::::RReeggiissttrryy scripts at server startup. The script's handler routine is compiled by the parent

server, of which children get a copy. The AAppaacchhee::::RReeggiissttrryyLLooaaddeerr "han-

dler" method takes arguments of "uri" and the "filename". URI to file-

name translation normally doesn't happen until HTTP request time, so we're forced to roll our own translation. If filename is omitted and a "trans" routine was not defined, the loader will try using the uurrii relative to SSeerrvveerrRRoooott. Example:

#in httpd.conf

ServerRoot /opt/www/apache Alias /perl/ /opt/www/apache/perl

#in PerlScript

use Apache::RegistryLoader ();

#/opt/www/apache/perl/test.pl

#is the script loaded from disk here:

Apache::RegistryLoader->new->handler("/perl/test.pl");

To make the loader smarter about the uri->filename translation, you may

provide the "new" method with a "trans" function to translate the uri to filename.

The following example will pre-load all files ending with ".pl" in the

ppeerrll-ssccrriippttss// directory relative to SSeerrvveerrRRoooott. The example code

assumes the Location URI "/perl" is an AAlliiaass to this directory. { use Cwd ();

use Apache::RegistryLoader ();

use DirHandle (); use strict;

my $dir = Apache->serverrootrelative("perl-scripts/");

my $rl = Apache::RegistryLoader->new(trans => sub {

my $uri = shift;

$uri =~ s:^/perl/:/perl-scripts/:;

return Apache->serverrootrelative($uri);

});

my $dh = DirHandle->new($dir) or die $!;

for my $file ($dh->read) {

next unless $file =~ /\.pl$/;

$rl->handler("/perl/$file");

} } AUTHORS Doug MacEachern

Stas Bekman (Rewrote the handler() to report and handle all the possi-

ble erroneous conditions)

SEE ALSO

Apache::Registry(3), Apache(3), modperl(3)

perl v5.8.6 2000-03-30 Apache::RegistryLoader(3)




Contact us      |      About us      |      Term of use      |       Copyright © 2000-2019 MyWebUniversity.com ™