给定数组:001; C; 1; 066; S; ; 1
my $query = "001";
my $query2 = "006";
如果数组中的索引(例如(001))与查询匹配,则打印该行(C; 1)中的下一个元素,而不是整个数组。或者如果下一个索引(066)与查询中的打印元素匹配行(S; 1)...等我的问题是..我不能只输入这样的内容。
if (any {$_ eq $query} @found){
print "@found2[1..2]\n";
}
..因为我的数组是动态的-下次有20个元素,下一次是50个,等等。
任何解决方案?预先感谢。
所以一种解决方案是遍历Array的索引:
my @ar = qw (001 C 1 006 S 2);
foreach my $index (0 .. $#ar-2) {
if ($ar[$index] eq '001') {
print @ar[$index+1 .. $index+2] , "\n";
}
}