#!/usr/bin/perl use strict; use warnings; my $line = ('a' x 500) . 'b!' . ('a' x 20); use Benchmark qw( cmpthese ); cmpthese -3, { literal => sub {$line =~ /a.{1,10}b!/ }, class => sub {$line =~ /a.{1,10}[b][!]/}, }; __END__ Rate class literal class 3855/s -- -99% literal 712766/s 18390% --