in reply to Where to store class configuration settings in a module used by multiple applications
The idea is to distinguish between applications using APP_ID, which can be set in apache configuration. If you want set configuration for some application, you can performpackage FormValidator; use strict; use warnings; my %conf;#{app_id1=>conf1,app_id2=>conf2} sub new { my ($class,$conf,$app_id) = @_ $app_id = $ENV{APP_ID} unless defined $app_id; $conf{$app_id} = $conf if defined $conf; return bless $conf{$app_id}, $class; }
#first application $ENV{APP_ID} = 'APP_1'; my $obj_1 = FormValidator->new({foo=>'bar'}); my $obj = FormValidator->new(); print $$obj{foo};#prints 'bar' #second application my $obj_2 = FormValidator->new({foo=>'BAZ'},'APP_2'); my obj = FormValidator->new(); print $$obj{foo};#prints 'BAZ'
|
|---|