Mercurial > pub > Impl
view Lib/Configuration.pm @ 65:2840c4c85db8
Application configuration improvements
Documentation
author | wizard |
---|---|
date | Tue, 16 Mar 2010 17:36:13 +0300 |
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;