Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw

Re: Another 64-bit Perl bug. Is it fixed post 5.18?

by moritz (Cardinal)
on May 24, 2015 at 12:48 UTC ( #1127581=note: print w/replies, xml ) Need Help??

in reply to Another 64-bit Perl bug. Is it fixed post 5.18?

For as long as I remember doing Perl development, there was always a limitation that a quantifier like + or * wouldn't actually match an unlimited number of characters, but at most a fixed, upper limit.

IIRC in the days of perl 5.8, it was more like 2**15.

It seems the situation has improved a bit for + and *, but you can still see the explicit limit with the generic quantifier:

$ perl -Mre=debug -e '/.{2,}/' Compiling REx ".{2,}" Final program: 1: CURLY {2,32767} (4) 3: REG_ANY (0) 4: END (0) minlen 2 Freeing REx: ".{2,}"

So the upper limit for {2,} is actually 32767 (== 2**15 - 1), not unlimited.

If its been fixed already, which version did the fix happen?

I don't think it was ever fixed.

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others taking refuge in the Monastery: (8)
As of 2018-11-15 08:09 GMT
Find Nodes?
    Voting Booth?
    My code is most likely broken because:

    Results (181 votes). Check out past polls.

    • (Sep 10, 2018 at 22:53 UTC) Welcome new users!