... the size numerically of an array of arrays (AoA) ...

What does "size" mean in this context? Remember that a Perl array or hash is always and only an array or hash of scalars. However, any of these scalars may be a reference to another array or hash (and a few other things). To find the total number of elements in a nested array/hash structure, you have to figure out a way to recurse through the entire structure from top to bottom and add up the elements in any and all nested arrays/hashes. See the Perl Data Structure Cookbook.

However, for a simple array, the process is straightforward. An array evaluated in scalar context yields the number of elements in the array. An array identifier or reference dereferenced with the $# sigil yields the index of the highest element in the array.

Win8 Strawberry 5.8.9.5 (32) Mon 05/09/2022 19:13:22 C:\@Work\Perl\monks >perl use strict; use warnings; my @array = (9, 8, 7); my $arrayref = \@array; print "elements of array: (@array) (@$arrayref) \n"; printf "number of array elements: %d %d \n", scalar(@array), scalar(@$arrayref); print "highest array index: $#array $#$arrayref \n"; ^Z elements of array: (9 8 7) (9 8 7) number of array elements: 3 3 highest array index: 2 2

But why do you need to explicitly know the "size" of an array or array structure? There are many techniques that allow one to iterate over the elements of an array or recurse through a nested structure without ever knowing the number of elements present. It all depends on just what you are trying to do.


Give a man a fish:  <%-{-{-{-<


In reply to Re^5: reading a JSON object by AnomalousMonk
in thread reading a JSON object by anautismobserver

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.