use 5.010; use strict; use warnings; use Benchmark qw(cmpthese timethese); my $r1 = timethese( -1, { p_before => sub { 'hola juan' =~ /ju/p }, no_p_before => sub { 'hola juan' =~ /ju/ }, }, 'none'); eval '$`'; my $r2 = timethese( -1, { p_after => sub { 'hola juan' =~ /ju/p }, no_p_after => sub { 'hola juan' =~ /ju/ }, }, 'none'); cmpthese({ %$r1, %$r2 }); __END__ Rate p_before no_p_after p_after no_p_before p_before 1067899/s -- -2% -2% -80% no_p_after 1084733/s 2% -- -1% -80% p_after 1091288/s 2% 1% -- -79% no_p_before 5318863/s 398% 390% 387% --