Well, for being new to Perl this is a quite complicated data structure ;-). But using symbolic references is a bad idea! Why? Imagine you have already a hash called %hello in your program, this gets overwritten. And you normally don't have any influence on the values you get, so you could overwrite any hash already defined in your program. And there are more issues to that.

The solution is simply to put everything into a new hash with the key being "hello" in your example and the value is the return value from extrct(). So you would write sth like this:

$new_hash{$file{data}} = { extrct() }; # or if extrct returns a hash reference $new_hash{$file{data}} = extrct();

-- Hofmator


In reply to Re3: Complex Data Structures 2 by Hofmator
in thread Complex Data Structures 2 by immybaby

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.