my @people_in_room = grep {$_->isa('Person')} $room->contained_objects; my @artists_in_room; for my $person (@people_in_room) { push(@artists_in_room, $person) if grep {$_->isa('Artist')} $person->professional_roles; }