in reply to Re: Count of HoA elements
in thread Count of HoA elements
Though I would not recomend using the second on big datastructures as it builds a list of all the elements in the arrays in the hash. Use either the first solution or
use List::Util qw(sum); my $count = sum map scalar(@$_), values %h; #or # my $count = sum( map scalar(@$_), values(%h)); # or # my $count = sum( map {scalar(@$_)} values(%h)); # if that syntax looks more readable to you.
Regarding the update: the first solution uses O(N) of memory where N is the number of elements of the hash, the second O(N*M) where M is the average length of the array in the hash. The List::Util solution is also O(N) memorywise.
|
|---|