my @isect = (); my @union = (); my %union = (); my %isect = (); my @possible_states = ('users','sources','publisher','authors','joinus','content','logs','genre','sq'); #Objects array my $e = ''; my @current_state = $main::CGI->param(); foreach $e (@current_state,@possible_states) { $union{$e}++ && $isect{$e}++ } @isect = keys %isect; my $sub_subst = uc($isect[0]) || displayQueryScreen(); my $what_to_do = $sub_subst->new(); my $action = $main::CGI->param ($isect[0]); $action =~ s/^_+//; #filtering private methods $what_to_do->$action() || displayQueryScreen ();