配列内に要素があるかないか判定したい。 でも頭から検索しにいくから 後にある検索は遅くなってしまう。 use strict; use warnings; use List::Util qw/first/; use Benchmark qw/timethese cmpthese/; my @ids = (0 .. 1000000); timethese(1000,{ first => sub { my $first = first {$_ == 0} @ids; }, mid => sub { my $mid = first {$_ == 500000} @ids; }, last => sub { my $last = first {$_ == 1000000} @ids; } }); Benchmark: timing 1000 iterations of first, last, mi