Blah. That's what I was afraid of. :-(
I don't have access to a different version of perl and this is something I rather need to match. I don't suppose you know of a way around this bug besides switching perl versions?
Thanks for confirming my suspicions, though it's not really what I wanted to hear. :-) I was hoping I was just doing something dumb that could be fixed.
bbfu
Seasons don't fear The Reaper.
Nor do the wind, the sun, and the rain.
We can be like they are.
| [reply] |
I tried for a while, but I couldn't coax Perl into playing nice with this one :)
It looks like Perl 5.005_03 simply ignores the \G anchor when a '?' modifier is present. It also ignores \G if there's a {0,1} modifier, but oddly enough, not in the cases of '*' or '{0,2}'. Though not quite accurate, perhaps one of these is a suitable substitute.
Another option is to expand the '?' modifier into its two possibilities like so:
m/\G(\\\$\w+|\$\w+)/gc
You can also dispense with the \G modifier altogether, and just slurp away the lexed tokens, using s/TOKEN// for matching, though this method is somewhat less efficient.
MeowChow
s aamecha.s a..a\u$&owag.print | [reply] [d/l] [select] |
Thanks for the further info. I ended up going with a similar case to your second suggestion (m/\G(\\\$\w+|\$\w+)/gc, though I didn't repeat the \w+ since there was other stuff in the regex after that) and it seems to be working fine.
The s/// solution seems like it'd be quite expensive, requiring many, many memcopy's. As I'm using this tokenizer fairly heavily, I don't think that's really a good idea. Though, of course, maybe Perl's smarter than I'm giving it credit for. ;-)
Hopefully pretty soon I'll be able to post the code I'm working on here for some peer review, as well as a link to a "showcase" page. It's getting pretty close to finished and I really think it's pretty cool. I'm looking forward to getting everyone's opinion on my code and the ideas behind it. I've really appreciated your help here, MeowChow, and I hope that you'll give it a look when I finally get it all posted. =)
For now, I think I should really go to bed. It's 6am here and I have to get up in 6.5 hours to get ready for work (so that I can go in and work on this project some more! :-). Have a good night/day/whatever, everyone and thanks again!
bbfu
Seasons don't fear The Reaper.
Nor do the wind, the sun, and the rain.
We can be like they are.
| [reply] [d/l] [select] |