我有以下内容:
$data{host} -> [$i] -> {someotherstuff}
如何获得[$ i]所在的数组长度?
答案 0 :(得分:14)
$length = scalar( @{ $data{host} } );
答案 1 :(得分:1)
根据msw's comment添加了答案:
use autobox::Core;
# ...
$data{host}->length;
这与Cfreak的答案相同,除了语法错综复杂之外,代价是使用模块。
我的论点是关于Perl的大多数合理投诉可以简单地用回答»它不需要这样!«并且对CPAN的简短概要感到满意。
答案 2 :(得分:0)
如果您想要最后一个索引,可以使用:$#@ {$ data {host}}
显然,数组的长度是最后一个索引+ 1.当难以实现标量上下文或特别需要length-1时,请使用此表示法。例如:
0 .. $#{$ data {host}}#返回数组所有索引的列表
有时很有用。