Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl-Sensitive Sunglasses
 
PerlMonks  

Re^2: Polish Prefix Calculator

by protist (Monk)
on Oct 05, 2012 at 05:31 UTC ( #997386=note: print w/ replies, xml ) Need Help??


in reply to Re: Polish Prefix Calculator
in thread Polish Prefix Calculator

++ matches possessively. This means that it will hold on to what it finds and not backtrack if the match fails with the current amount of matching handled by ++.

Contrast this with A+, where it will attempt a match of a maximum amount of As, then if the match fails, an A will be "given up" by A+, and a match will be attempted again with one less A. In the case of a failing match, if ++ will suit your needs, ++ is often many times more efficient (faster at failing when it does fail to match).

In some cases, the difference between + and ++ is trivial. In other cases they are not logically equivalent. Such as in:

/A++A/ and /A+A/ # /A++A/ should never find a match, as A++ prevents A from being match +ed after it.

As a matter of good practice and efficiency, I use ++ wherever possible. I do the same with *+


Comment on Re^2: Polish Prefix Calculator
Download Code
Replies are listed 'Best First'.
Re^3: Polish Prefix Calculator
by Anonymous Monk on Oct 05, 2012 at 05:45 UTC
    Thanks for the explanation. (Note to self: possessive quantifiers were introduced in perl 5.9.5.)

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://997386]
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 2015-07-29 02:09 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (260 votes), past polls