Use $# as any other sigil. As you may or may not know, you can use ${...}, @{...}, %{...} etc when dereferecing, but often the curlies are redundant which is why you don't see them so often. In fact, $foo can be written as ${foo} (which is an often seen trick when interpolating $foo in string like "this${foo}that" where $foothat would be interpolated if the brackets weren't there).

Anyway, in your case this means that you'd use $#{$hash{array}} and @{$hash{array}} to get the last element and the array itself, respectively.

See the perlref manpage for more details. Good reading is also to be found in perlreftut, perllol and perldsc

Hope I've helped,
ihb


In reply to Re: referring to anonymous array in value of a hash in array context... by ihb
in thread referring to anonymous array in value of a hash in array context... by Anonymous Monk

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.