{ my @DRIVER = Alzabo::Driver->available; my @RULE = Alzabo::RDBMSRules->available; my $sg = (scalar grep { $p{rdbms} eq $_ } Alzabo::RDBMSRules->available); warn Data::Dumper->Dump([\@DRIVER, \@RULE, $sg], [qw(DRIVER RULE sg)] ); my %has = ( driver => grep { $p{rdbms} eq $_ } Alzabo::Driver->available, rules => (scalar grep { $p{rdbms} eq $_ } Alzabo::RDBMSRules->available) ? 'yes' : 'no', rules2 => (scalar grep { $p{rdbms} eq $_ } Alzabo::RDBMSRules->available) ); use Data::Dumper; die Dumper(\%has);