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
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |