in reply to printing hashes with multiple values
Other Monks have responded to your question, but I can't help but comment on this code:
for (my $i=0; $i<@CD_new_a_v_d_D; $i++) { if ($key eq $CD_new_a_v_d_D[$i]) { print "$key - $value\n"; } }
In Perl land, we usually avoid that type of for loop. We have alternatives that have much less visual noise. If all you need to see are the values from the array, it's as simple as:
for (@CD_new_a_v_d_D) { if ($key eq $_) { print "$key - $value\n"; } }
In the rare cases where you still need access to the array indexes as you are iterating, you can use the range operator:
for (0 .. $#CD_new_a_v_d_D) { if ($key eq $CD_new_a_v_d_D[$_]) { print "$key - $value (at $_)\n"; } }
|
|---|