Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot
 
PerlMonks  

Re^6: Regex question - identify which pattern comes first

by harangzsolt33 (Curate)
on May 05, 2026 at 13:56 UTC ( [id://11167698]=note: print w/replies, xml ) Need Help??


in reply to Re^5: Regex question - identify which pattern comes first
in thread Regex question - identify which pattern comes first

Hmm... Yes, it does work! I just had to put another closing parentheses in the regex.

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 LanX (Saint) on May 06, 2026 at 17:59 UTC
    > local our

    Not sure why this is needed, at least my Perl version 5.38 had no issues using my

    Cheers Rolf
    (addicted to the Perl Programming Language :)
    see Wikisyntax for the Monastery

Re^7: Regex question - identify which pattern comes first
by Anonymous Monk on May 05, 2026 at 15:18 UTC
    > Sorry, I don't want to change the subject but can't help it.

    Best a new thread with full benchmark. Too much guessing needed...

    And consider

    use Scalar::Util qw(looks_like_number);

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://11167698]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others exploiting the Monastery: (5)
As of 2026-05-08 12:35 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found

    Notices?
    hippoepoptai's answer Re: how do I set a cookie and redirect was blessed by hippo!
    erzuuliAnonymous Monks are no longer allowed to use Super Search, due to an excessive use of this resource by robots.