my @label_array = qw (Title Section Subsection Class Category Degree Attempt CountOfCharges); for ( 0 .. ( $offense_line_count - 1 ) ) { my $value = $offense_value_array[$_]; # next if ( !defined $value ); my $label = $offense_label_array[$_]; $hash{$label} = $value; # print "$label -> $value\n"; # build an array of hashes...if the 'CountOfCharges' is greater than 1 # push another copy of the hash on the array if ( $label eq 'CountOfCharges') { $num_chgs = int($value); if ($num_chgs > 1 ) { print "ref = $referencenumber....($num_chgs) \n" } for (0 .. ($num_chgs - 1)) { print "\n\n$_ pushing $hash{Section} / $hash{Subsection}\n"; push @AOH, \%hash; } } }