Please help with more syntax! I turns out that I need an array as well, to retain the order of the source files. Something like the "<<WRONG" line here:
my (%compdata, $comp, $file, @srcfiles); for (@data) { my ($key, $value) = split /=/; for ($key) { /component/ && do { $comp = $value; last }; /version/ && do { $compdata{$comp}{version} = $value; last }; /sourcefile/ && do { $file = $value; push (@($compdata{$comp}{$srcfiles}), $value); # <<WRONG last }; /sourcesum/ && do { $compdata{$comp}{sources}{$file} = $value }; } }
For example, when the data is
component=HF version=NULL sourcefile=file10 sourcesum=checksum10 sourcefile=file2 sourcesum=checksum2 sourcefile=file3 sourcesum=checksum3
When using only the hash, the output is
'sources' => { 'file3' => 'checksum3', 'file2' => 'checksum2', 'file10' => 'checksum10'
but I need to be able to get the same order as the provided data (by using foreach @srcfiles { get hashvalue } (which is also syntax I don't know))
'sources' => { 'file10' => 'checksum10' 'file3' => 'checksum3', 'file2' => 'checksum2',

In reply to Re^2: how to include an array of hashes in a hash of hashes? by anadem
in thread how to include an array of hashes in a hash of hashes? by anadem

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.