Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical
 
PerlMonks  

Re^2: Named capture backreferences cannot be used in character classes?

by BrowserUk (Pope)
on Sep 27, 2013 at 06:01 UTC ( #1055930=note: print w/ replies, xml ) Need Help??


in reply to Re: Named capture backreferences cannot be used in character classes?
in thread Named capture backreferences cannot be used in character classes?

You can use a postponed subexpression replacing It's flagged as "experimental" - that may affect your choice to use it.

That would certainly work -- and I don't have a problem with it being "experimental"; as far as I have observed it hasn't changed in all the years it has been there and I'm already having to where I need recursive regex -- but I prefer to avoid it if there is a less performance sapping alternative.


With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.


Comment on Re^2: Named capture backreferences cannot be used in character classes?
Re^3: Named capture backreferences cannot be used in character classes?
by kcott (Abbot) on Sep 27, 2013 at 13:09 UTC
    "... I don't have a problem with it being "experimental"; as far as I have observed it hasn't changed in all the years it has been there ..."

    When I read that this afternoon, that was my understanding too. However, poking aroung in perl5180delta some hours later (on a completely unrelated matter), I found: "/(?{})/ and /(??{})/ have been heavily reworked".

    That's really just an FYI, if you're interested. It's still marked "experimental" and I saw nothing to indicate any specific performance enhancements.

    -- Ken

      That's really just an FYI,

      Thanks for the heads up. I haven't moved onto 5.18 yet, but I will be doing so soon.

      Thankfully, my primary use of the feature is where I have regex elements that are codependent. EG.

      A => qr[...${B()}...], B => qr[...${C()}...], C => qr[...${A()}...],

      Which doesn't work because there is no way to order them such that all dependancies can be resolved at compile-time.

      Instead I have to use:

      A => qr[...(??{B()})...], B => qr[...(??{C()})...], C => qr[...(??{A()})...],

      Which doesn't seem to be affected by the changes.


      With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
      Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
      "Science is about questioning the status quo. Questioning authority".
      In the absence of evidence, opinion is indistinguishable from prejudice.
Re^3: Named capture backreferences cannot be used in character classes?
by yitzchak (Sexton) on Sep 30, 2013 at 03:06 UTC
    They changed at one point; IIRC it used to be something like (?p{...}); I think Ilya originally envisioned it as a limited scope version of a hypothetical qr/foo$bar/p that would at match time use the current value of $bar.

      Thanks for the information.

      According to anonymonks addendum, this all pre-dates my first use of Perl which started just a couple of weeks before I found this place in June, 2002.


      With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
      Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
      "Science is about questioning the status quo. Questioning authority".
      In the absence of evidence, opinion is indistinguishable from prejudice.

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (7)
As of 2014-08-01 00:14 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    My favorite superfluous repetitious redundant duplicative phrase is:









    Results (256 votes), past polls