use strict; use warnings; use Benchmark qw(cmpthese); my $str = < \&graff, 'duff' => \&duff, 'jbrug' => \&jbrug, 'jbrug2' => \&jbrug2, } ); sub graff { my $txt = substr $str, 0, $maxlen; } sub duff { my $txt = $str; $txt =~ s/(.{1,$maxlen})\b.*/$1.../; } sub jbrug { my $txt = $str; $txt =~ m/.{$maxlen}/gs; } sub jbrug2 { my @a = split("",$str); my $txt=""; for (my $i=0; $i<$maxlen; $i++) { $txt .= $a[$i]; } }