in reply to
Problems with complex structure and array of arrays
The array @global_els contains all elements, not just the elements associated with each $row_el. Although there are other ways to better achieve what you want, you could fix your code by adding one line:
foreach $row_el (@row_els) {
print "\t",$row_el;
foreach $global_el (@global_els) {
# add this line...
next unless exists $score_of{$row_el}{$global_el};
print "\t",$global_el;
print ",",$score_of{$row_el}{$global_el};
}
print "\n";
}
BTW if you used
warnings you would have got a host of "unitialised value" errors.
Data::Dumper is a great help too in these situations.