# build the dependency map for active children $child{$_} ||= $parent{$_} for grep $_->active, $self->children; #### warn "Deleting removed script '$_'\n" for map $_->name, @deleted; #### for my $hidden (grep !$_->visible, @objects) { ... } #### # build the dependency map for active children $_->active and $child{$_} ||= $parent{$_} for $self->children; # (My brain doesn't grok 'condition and action' as fluently as # 'action if condition', but handles 'grep' fine.) warn "Deleting removed script '@{[ $_->name ]}'\n" for @deleted; # hmm, a minor difference, but @{[ ...]} is just too much punctuation for my $object (@objects) { next if $object->visible; # below here '$object' is less informative ... } for my $hidden (@objects) { # '$hidden' is a lie here next if $hidden->visible; ... }