use strict; use warnings; use Benchmark qw(cmpthese); my $klein = 'alpha - beta'; cmpthese (0, { m_klein => sub { my ($part) = $klein =~ m/^([^-]*)/; }, split_klein => sub { my ($part) = split /-/,$klein,2; }, mit_index => sub { my $part = substr($klein,0,index($klein, "-")); } }); my $gross = 'alpha - ' . 'beta' x 10000; cmpthese (0, { m_gross => sub { my ($part) = $gross =~ m/^([^-]*)/; }, split_gross => sub { my ($part) = split /-/,$gross,2; }, mit_index => sub { my $part = substr($gross,0,index($gross, "-")); } });