#!/usr/bin/perl use strict; use warnings; use Benchmark qw /cmpthese/; our $re1 = qr /^[\d.-]*\d[\d.-]*$/; our $re2 = qr /^[.-]*\d[\d.-]*$/; our @strs = ; our (@d, @a); foreach (@strs) { die if /$re1/ xor /$re2/ } cmpthese -1 => { davido => 'my @a = map {/$re1/} @strs', abigail => 'my @a = map {/$re2/} @strs', } __DATA__ --1--2--3--4--5--6--7--8--9--0--1--2--3--4--5--6--7--8--9--0--a--2--3--4--5-- Rate davido abigail davido 23578/s -- -88% abigail 196495/s 733% --