Hi PerlMonks,
Perl beginner here struggling with a small bit of code. I want to loop through the keys of a hash and check to see whether the key was present in a previous array. This works ok. Then based on whether the key is found add a value (again previously defined in a loop) to the array that the key points to within one of two different hashes. Both hashes have identical keys but should be used to store differing data based on the outcome of IF. The sub bit of code is:
foreach my $key ( keys (%hasha)) {if ( my @temp = grep ( /$key/, @prevarray)){push(@{$hasha{$key}}, +$value); next;} #closes if loop else { push (@{$hashb{$key}},$value); next;} #closes if loop } #close foreach loop
At the moment this appears to be adding every $value to each key within both arrays. So there is no filtering and I can not work out why. Any hints would be much appreciated
In reply to Updating arrays within hashes by jonnyw83
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |