#!/usr/bin/perl use strict; use warnings; use Benchmark qw /cmpthese/; our $abigail = qr %
([^<]*(?:<(?!b>|/p>)[^<]*)*)
%i; our $bart = qr %((?:(?!).)+?)
%is; our $corion = qr %((?:[^<]*|<(?!b>)[^>]+>)*?)
%i; my @names = qw /abigail bart corion/; our @data = ; my @correct = ('Just another perl hacker', 'this should match', 'What about this?', 'Andthis'); cmpthese -1 => {map {$_ => "\@$_ = map {/\$$_/g} \@data"} @names}; no strict 'refs'; "@$_" eq "@correct" or die ucfirst for @names; __DATA__
Just another perl hacker
Just another perl hacker
this should match
This should not match
What about this?
And
this
malformed piece? Rate corion bart abigail corion 6457/s -- -68% -72% bart 19910/s 208% -- -14% abigail 23209/s 259% 17% --