ADC Home > Reference Library > Reference > Mac OS X > Mac OS X Man Pages

 

This document is a Mac OS X manual page. Manual pages are a command-line technology for providing documentation. You can view these manual pages locally using the man(1) command. These manual pages come from many different sources, and thus, have a variety of writing styles.

For more information about the manual page format, see the manual page for manpages(5).



Apache::RegistryLoader(3)            User Contributed Perl Documentation           Apache::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, $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 "/perl" 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)



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

Did this document help you?
Yes: Tell us what works for you.
It’s good, but: Report typos, inaccuracies, and so forth.
It wasn’t helpful: Tell us what would have helped.