use Benchmark; $string = "hello world I am a string of some sort of length"; timethese(-1, { "match" => sub { ($char) = $string =~ /^.{4}(.)/;}, "unpack" => sub { ($char) = unpack("x4 A1", $string);}, "substr" => sub { ($char) = substr($string,4,1);}, "silly" => sub { my $string2 = $string; $char = chop $string2 while length $string2 >= 4;}, #note the local });