my @docsObservs; foreach my $docP (values %{$self->{docs}}) { push(@docsObservs, $docP->getObservations()); die "loop variable is undef after call to getObservations()" if (!defined($docP)); $docP = undef; } map { die "bug after!" if (!defined($_)); } values %{$self->{docs}};