use strict; use Benchmark; my $index; my $str = "lol238923892382938|lol282812|asdfasdf|asdfasdfasdf"; timethese(5000000, { 'stopper' => sub { ($index) = $str =~ m/([^|]+)/ }, 'lookahead' => sub { ($index) = $str =~ m/^(.+?)(?=\|)/ }, 'splitter' => sub { ($index) = split /\|/, $str }, });