我有一个包含列表的脚本
@names = ();
@x = ();
两个列表都与数据并行填充,因此,最后我有两个列表,其中每个元素的名称和 x 值在同一索引处。请注意,有多个元素具有相同的 x 值。
我希望所有元素都具有特定的 x 值与代码
foreach my $x (0..4) {
my @ind = grep { $x[$_] == $x } 0..$#names;
print @ind . "\n";
}
但是,输出是
17
17
8
4
这正是具有 x=0, x=1, ... 的元素的数量
我想知道,因为列表上下文中的 grep 应该返回一个包含匹配项的列表(这里是匹配元素的 indizes)。
我在这里做错了什么?
最好的祝福。