请考虑使用大型数组@data
。
另外,还有一些数组@indexes
包含数据索引(请考虑$indexes[n] < @data
,以保证每个n)。
是否有一个简单的表达式来检索结果数组
my @res;
foreach my $ind (@indexes){
push(@res, $data[$ind]);
}
例如(无效):
my @res = $data[@indexes];
有东西吗?
答案 0 :(得分:11)
使用数组切片。
切片将按@data
的顺序返回@indexes
的元素
@res = @data[@indexes]
注意@
之前的data
,这告诉Perl返回一个列表,其中
@res = $data[@indexes]
将@indexes
的长度作为@data
的元素以返回