Mercurial > pub > Impl
view Lib/Configuration.pm @ 92:5f676b61fb8b
IMPL::Config::Resolve alpha version
author | wizard |
---|---|
date | Tue, 27 Apr 2010 20:10:07 +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;