$s = '1234567890'x10;; cmpthese -1, { a=>q[ my $x = substr $s, $_, 10 for 0 .. 99], b=>q[ my($x) = m[^.{$_}(.{10})] for 0 .. 99] };; Rate b a b 1113/s -- -97% a 42708/s 3738% --