use strict; use warnings; use List::Util qw/first/; my @array=(1,2); my $i1 = first { $array[$_] == 1 } (0..$#array); my $i2 = first { $array[$_] == 2 } (0..$#array); my $i3 = first { $array[$_] == 3 } (0..$#array); print "<$i1> <$i2> <$i3>\n"; #### Use of uninitialized value $i3 in concatenation (.) or string at d:/tmp/first.pl line 13. <0> <1> <>