regex2 - used A-Z in place of A..Z as I've never used the latter before and can't even figure what it would do at the moment
Not what I'd thought it would do! OK, I made a wrong assumption (getting mixed up between array ranges and regex ranges) - you're quite correct,
/$[A-Z]^/ is functionally correct.
I tried your suggestion along side the (now correct) regex and exist, with the
following results -
Benchmark: timing 10000000 iterations of exist, index, regex...
exist: 50 wallclock secs (49.39 usr + 0.01 sys = 49.40 CPU)
index: 61 wallclock secs (60.64 usr + 0.00 sys = 60.64 CPU)
regex: 85 wallclock secs (83.18 usr + 0.03 sys = 83.21 CPU)
It's interesting that I get a bigger difference between the exist and index versions.
I wonder what OS & hardware you're running on? Mine is linux v2.2.18 on a Pentium II 400Mhz with 128Mb RAM.