I figured out that I needed the entries in the first ("root") array to be hash references. Below is the code used to generate this array.
while($db->FetchRow()){ my %hash = $db->DataHash(@$fields_ref); push (@data, \%hash); }
Whereas it was before
while($db->FetchRow()){ push (@data, $db->DataHash(@$fields_ref)); }

The DataHash function returns a hash whose keys are field names (from the database) and whose values are the values of those fields on a specific row. I don't like defining %hash every time a new row is processed, but couldn't get any "one-liner" way of making it work. How might I go about writing the push line with $db->DataHash(@$fields_ref) treated as a hash reference. In case anyone's interested, I touched up the code I originally posted. There were a few minor mistakes which caused some confusion about my looping.
while ($data[$x]){ my ($i,@orderdata,%myhash); foreach $i (1 .. $numpix){ if ($i == $data[$x]{'picorder'}){ $myhash{'orderline'} = "<option value=\"$i\" selected>$i</option>"; }else{ $myhash{'orderline'} = "<option value=\"$i\" selected>$i</option>";} push (@orderdata, \%myhash); } $data[$x]{'orderdata'} = \@orderdata; #transform anaglyph data for checkboxes if ($data[$x]{'anaglyph'} eq "Yes"){ $data[$x]{'anaglyph'}="checked";} $x++; }
Everything seems to work. Thanks for your help

In reply to Re: dereferencing hash within a hash within an array by lpoht
in thread dereferencing hash within a hash within an array by lpoht

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.