Glorius and patient Monks...

I haven't work with Perl for a while so this is one of the questions that will have simple answer and I get to do a head slap after I read the asnwer.

I'm attempting to populate a combo box using a hash, which in turn is populated by a text file. If the text file has one value per key separated by a tab, then the following code works great to create the hash. Populating the combo box goes swimmingly from there.

my ($hash, $file) = @_; my $dir = "C:\\Program Files\\ArcMan\\"; if(-e $dir.$file){ open(TABLE, $dir.$file); while(<TABLE>){ my($key, $value) = split(/\t/,$_); $$hash{$key} = $value; } close (TABLE); }else{ ErrorDialog("$file does not exist. ", $!); } #delete last eol return in text file so it does not appear #in hash delete $$hash{"\n"};

However, when there are multiple values per key the process breaks down. No surprise since the code is set up to split the first tab it finds.

ex: Name 'bob' 'sue' 'dave'. where Name is the key with three values separated by tabs. When values are separated by spaces then I get 'bob sue dave' as a single value.

So I'm stumped. Thanks in advance.


In reply to creating hashes by philc

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.