HI!!

This may be fairly easy but I am not seeing the solution.

I'm parsing and viewing data from a comma delimited file using the following (subset of total program):

my @data = split(/,/, $line); foreach my $i ( 0..$#data ) { $dataPos{$data[$i]} = $i; print "$data[$i] -- > $i\n"; } print Dumper ( \%dataPos );
The first print within the 'foreach' loop yields (please ignore the '' values -- I'll fix those soon:
WELL -- > 0
ENTRY ID -- > 1
DISPENSATION ORDER -- > 2
CREATOR -- > 3
CREATION DATE -- > 4
SAMPLE ID -- > 5
DESCRIPTION -- > 6
RUN ID AND DATE -- > 7
TOTAL QUALITY -- > 8
POSITION NAME -- > 9
RESULT -- > 10
QUALITY -- > 11
EDITED -- > 12
-- > 13
TOTAL QUALITY -- > 14
POSITION NAME -- > 15
RESULT -- > 16
QUALITY -- > 17
EDITED -- > 18
-- > 19
-- > 20

while a 'Dumper' print out of the dataPos hash yields:
$VAR1 = {
' TOTAL QUALITY' => 14,
'RESULT' => 16,
'CREATOR' => 3,
' ' => 20,
'TOTAL QUALITY' => 8,
'WELL' => 0,
'SAMPLE ID' => 5,
'DISPENSATION ORDER' => 2,
'POSITION NAME' => 15,
'QUALITY' => 17,
'DESCRIPTION' => 6,
'ENTRY ID' => 1,
'CREATION DATE' => 4,
'EDITED' => 18,
'RUN ID AND DATE' => 7
};

Could someone please tell me what happened to values 9 - 13 in the hash and when these two are not equivalent?

Thank you!!


In reply to hash and array mismatch by dana

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.