view Lib/Configuration.pm @ 144:b56ebc31bf18

Empty nodes no more created while transforming a post request to the DOM document minor speed improvements to the object CTOR caching Added support for a secure processing (and 'laundering' ) a CGI parameters Many minor fixes
author wizard
date Tue, 13 Jul 2010 02:05:38 +0400
parents 16ada169ca75
children
line wrap: on
line source

package Configuration;
use strict;

my $Configured = 0;

sub import {
    my ($class,$site) = @_;
    
    if ($site and $site ne $Configured) {
        Configure($site);
        $Configured = $site;
    } elsif (not $site and not $Configured) {
        $Configured = 1;
        require Configuration::Global;
    }
}

our %virtualSite;

sub Configure {
    my $siteName = shift;
    require Configuration::Global;
    
    while ( my ($pattern,$configSite) = each %virtualSite) {
        next if not $siteName =~ $pattern;
        if (ref $configSite eq 'CODE') {
            $configSite->();
        } elsif (not ref $configSite and $configSite) {
            require $configSite;
        }
        last;
    }
}



1;