http://www.perlmonks.org?node_id=502574


in reply to Benchmarks aren't everything

Impressive write-up!

But it got me wondering whether there is any way to disable all that funky checking the perl regexp engine does?
In most cases, I use rather basic regexps, so I think it would be great if there'd be an option like:
local $regexp_checking = undef
or something like that.
Additionaly, is there any way to use different regexp-engines? I seem to recall that in some perldoc (the Camel book, maybe?) it mentioned something about the possibility to roll one's own regexp engine, but I never noticed anyone actually doing that.
Anyhow, wouldn't it be nice if there was a way do easily choose between different engines?

Replies are listed 'Best First'.
Re^2: Benchmarks aren't everything
by Perl Mouse (Chaplain) on Oct 25, 2005 at 08:55 UTC
    Anyhow, wouldn't it be nice if there was a way do easily choose between different engines?
    Yeah, but since there isn't an alternative engine available, and I've never seen anyone attempting to write an alternative regexp engine for Perl, it doesn't make sense to put effort into making switching regexp engines easy.

    Write an alternative engine, and I'll bet someone will make a pragma to switch between them. That happened with 'sort' as well. After making merge sort available for Perl, the sort pragma was created.

    Perl --((8:>*

      Write an alternative engine, and I'll bet someone will make a pragma to switch between them.

      Actually afaiui the latter issue is the problem. We already have a framework for "swapping out" the normal regex engine via the use re 'debug'; facility. The problem is that the framework more or less expects the swapped in engine ot behave just the same as the one swapped out. IE, it must set the same globals, and behave in the same quirky way. If this problem could be cleaned up providing an alternative engine would probably be feasable.

      ---
      $world=~s/war/peace/g