in reply to Where to store class configuration settings in a module used by multiple applications

Please, excuse typos, that code is writen directly to web form. Consider it as idea, not final code.

package 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; }
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 perform
#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'
  • Comment on Re: Where to store class configuration settings in a module used by multiple applications
  • Select or Download Code