如果我执行以下操作,它可以正常工作:
print $ref->{element}->[0]->{data};
我想看看数组中有多少引用,以便我可以遍历它们,但我很难做到这一点.
这是我尝试过的代码,但它不起作用:
my @array = @$ref->{element}; foreach(@array) { print $_->{data}; }
我收到“Not a ARRAY reference”错误
解决方法
列表的哈希是那样棘手的. @ $ref-> {element}被解析为(@ $ref) – > {element},取消引用$ref而不是$ref-> {element}.
尝试
my @array = @{$ref->{element}}
要么
my $size = scalar @{$ref->{element}}
血腥细节在perllol.