in reply to Re^5: Regex question - identify which pattern comes first
in thread Regex question - identify which pattern comes first
use strict; use warnings; $| = 1; my $SAMPLE = 'AB ABDA DCACCB AAA BSAA CAAB ACS ABA DBA BA DASSABACA A' +; local our $first; $SAMPLE =~ m/ (?: BA[ABC]{2} (?{ $first = 1; }) | CA[CD]{2} (?{ $first = 2; }) | DA[SC]{2} (?{ $first = 3; }) ) /x; print $first;
And I did a test. This second version runs almost twice as fast as the first one. Very interesting... :-)
Edit: Sorry, I don't want to change the subject but can't help it. lol I did another test on isNumber() which looks like this:
sub isNumber { defined $_[0] or return 0; my $N = 1; local $SIG{__WARN__} = sub { $N = 0; }; return ($_[0] & 0) | $N; }
and it turns out that a simple regex test on a string to see if it's a number runs orders of magnitude faster than using the above method of trying to catch a warning...
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^7: Regex question - identify which pattern comes first
by Anonymous Monk on May 05, 2026 at 15:18 UTC |