#!/usr/bin/perl -w use strict; my %email_owners = ('mike@foo.net' => 'Mike Foo', 'jwtheis@smic.net' => 'Jim Theis', 'happy@bobbarker.net' => 'Happy Gilmore'); foreach (keys %email_owners) { print "Owner: $email_owners{$_}\n"; print "E-mail: $_\n"; }

Because of the way you have the loop setup, you will go through the @addys array completely for every element in @owners, so by having three elements in @owners and three in @addys, you end up printing 9 emails. By splitting the hash into two arrays, you ended up disassociating the keys from the values.

If you really wanted to do it with two arrays, you could use something like this:

for(0 .. $#owners) { print "Owner: $owners[$_]\n"; print "E-mail: $addys[$_]\n"; }

But then you really defeat the whole purpose of the hash.


We're not surrounded, we're in a target-rich environment!

In reply to Re: First time using hashes by jasonk
in thread First time using hashes by IPstacks

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.