in reply to Re^4: reading a JSON object
in thread reading a JSON object
... 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: <%-{-{-{-<
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^6: reading a JSON object
by anautismobserver (Sexton) on May 10, 2022 at 17:46 UTC | |
|
Re^6: reading a JSON object
by anautismobserver (Sexton) on May 11, 2022 at 10:45 UTC | |
by hippo (Archbishop) on May 11, 2022 at 11:01 UTC | |
by anautismobserver (Sexton) on May 11, 2022 at 19:45 UTC | |
by AnomalousMonk (Archbishop) on May 11, 2022 at 22:53 UTC | |
by Discipulus (Canon) on May 11, 2022 at 11:12 UTC | |
by AnomalousMonk (Archbishop) on May 11, 2022 at 15:56 UTC |