my %applications; for my $item (@items) { if ($item->{sys_class_name} eq 'cmdb_ci_appl') { $applications{$item->{u_ci_id}}{name} = $item->{name} } else # assume device { push @{$applications{$item->{u_application_id}}->{member}}, $item->{ip_address} if $item->{ip_address} } }