in reply to Testing a string for a range of characters

***update***
OOPS It tooks me too long to type this post, what I said here was said above while I was typing this...
***update***

In another ridiculous attempt to enhance things...
(Why am I always missing something ?)
I've tried a to 'enhance' the regex using the o modificator

So I added :
'oregex' => sub { $test_char = chr( int( rand 256 ) ); if ($test_char =~ /^[A..Z]$/o) {} else {} },
to your code...

The result was disapointing for me...

comp: 51 wallclock secs (50.38 usr + 0.00 sys = 50.38 CPU) exist: 50 wallclock secs (48.57 usr + 0.00 sys = 48.57 CPU) oregex: 55 wallclock secs (54.11 usr + 0.00 sys = 54.11 CPU) regex: 54 wallclock secs (54.10 usr + 0.00 sys = 54.10 CPU)

Could someone explain me why the optimization didn't optimize anything ?

And why my result are so different from yours ? (especially the ratio comp/regex or exist/regex ?)

I must add that I run the test several time to be sure...ANd the results were consistent...