#!/usr/bin/perl
use Benchmark qw/cmpthese/;
$defaulttext = q/foo / x 30;
# $defaulttext = q/foobar / x 30;
cmpthese( 100_000, {
slash_b => q{$text=$defaulttext; $text =~ s/\bfoo\b//g;},
neg_look=> q{$text=$defaulttext; $text =~ s/(? q{$text=$defaulttext; $text =~ s/(?<=[^\w])foo(?=[^\w])//g;},
});
####
Rate pos_look neg_look slash_b
pos_look 27894/s -- -8% -35%
neg_look 30441/s 9% -- -29%
slash_b 42662/s 53% 40% --
####
$text= q/foo bar foo/;
($tmp = $text) =~ s/\bfoo\b//g;
print $tmp,"\n";
($tmp = $text) =~ s/(?