Hi,
I usually just grep through arrays, but recently I was not looking for an array-element, but for the index of an array-element, so I tried this:
use strict;
my @array=(1,2);
my $i1 = grep { $array[$_] == 1 } (0..$#array);
my $i2 = grep { $array[$_] == 2 } (0..$#array);
my $i3 = grep { $array[$_] == 3 } (0..$#array);
print "<$i1> <$i2> <i3>\n";
I would have expected an output of
"<0> <1> <>" (as the index where the value is 1 is 0, the index where the value is 2 is 1 and there is no index with a value of 3), but instead I get
"<1> <1> <0>".
Why is that?