my @problems; foreach my $row ( @$data ) { my %categories; @categories{ cusip isin sedol ticker } = @$row; foreach my $category ( keys %categories ) { next if $category eq 'ticker'; if( not defined( $categories{$category} ) { push @problems, problem( $category, $categories{ticker} ); next; } } } sub problem { my ( $problem_tag, $ticker ) = @_; my $issue = "Missing $problem_tag for $ticker"; print $issue, "\n"; return $issue; }