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

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.