Home   |   Contact Us   |   Site Map

 

 

 

  RegistryLoader.pm Perldoc

 


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, $virtual_hostname);


DESCRIPTION

This modules allows compilation of Apache::Registry scripts at server startup. The script's handler routine is compiled by the parent server, of which children get a copy. The Apache::RegistryLoader handler method takes arguments of uri and the filename. URI to filename 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 uri relative to ServerRoot. 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 perl-scripts/ directory relative to ServerRoot. The example code assumes the Location URI is an Alias to this directory.

{ use Cwd (); use Apache::RegistryLoader (); use DirHandle (); use strict;

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

my $rl = Apache::RegistryLoader->new(trans => sub { my $uri = shift; $uri =~ s:^/perl/:/perl-scripts/:; return Apache->server_root_relative($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 possible erroneous conditions)


SEE ALSO

Apache::Registry(3), Apache(3), mod_perl(3)



 

Browse our Perldoc FAQs:

Perldoc Home

Perldoc Site Map


Previous Topics

QuotedPrint.pm Perldoc

ReadKey.pm Perldoc

ReadLine.pm Perldoc

RedirectLogFix.pm Perldoc

RefHash.pm Perldoc

RegExp.pm Perldoc

register.pm Perldoc

RegistryBB.pm Perldoc


Next Topics

RegistryNG.pm Perldoc

Registry.pm Perldoc

Reindent.pm Perldoc

re.pm Perldoc

Request.pm Perldoc

Resource.pm Perldoc

Response.pm Perldoc

rlogin.pm Perldoc


Website Spotlight

Domain Hosting with the Leader in Innovative and Comprehensive Web Hosting Solutions, Globalnet GNP.

Reliable Domain Hosting

 

Click here to increase your web traffic insantly!


 Copyright © 1999-2005 Globalnet Promotions, LLC.   |   TheServerRoom.org Home    |   Sitemap    |   RSS News Feeds