#!/usr/bin/perl use strict; use warnings; my $line = ('a' x 500) . ' ' . ('a' x 20); use Benchmark qw( cmpthese ); cmpthese -2, { literal => sub {$line =~ /a .{1,10} \ /x }, class => sub {$line =~ /a .{1,10} [ ]/x}, class_nodot => sub {$line =~ /a [^\n]{1,10} [ ]/smx }, }; __END__ Rate class_nodot class literal class_nodot 2530/s -- -26% -100% class 3413/s 35% -- -100% literal 718209/s 28289% 20942% --