use warnings; use strict; my @aoa = ( [qw(1 1 1 1)], [qw(2 2 2)], 'a string', [qw(3 3 3 3 3 3 3)], {a => 1, b => 2}, ); my $index = 0; for (@aoa){ if (ref $_ eq 'ARRAY'){ my $element_count = scalar @$_; print "elem $index has $element_count elements\n"; } else { print "elem $index is not an array reference\n"; } $index++; }