sub CI_Exists { my $chk = shift; my @nodes = map $rules->{CI}->{$_}, grep { $_ eq $chk } keys %{ $rules->{CI} }; foreach my $n (@nodes) { print "Chk = $chk\n"; foreach my $rec (keys %{ $n->{recipient} }) { foreach my $alert (@{$n->{recipient}->{$rec}->{alert}}) { ## or whatever suits alert_recipient(@$alert{qw/method dest/}, $rec) } } return 1; } return 0; }