[ILUG] Perl Regex Help Needed
Steven Satelle
ssatelle at gmail.com
Sun Sep 11 19:03:27 IST 2005
kae at verens.com wrote:
>>while ( $trivia =~ m/^[QA] (\d)+\) (.*)/gms) {
>> print "Matched ($1) and ($2)\n";
>>}
>>
>>But that doesn't work either. It greedily grabs *everything*.
>
>
> The problem is that you're not telling it where to stop matching.
>
> Maybe this?
>
> while ( $trivia =~ m/^Q (.*?)^A (.*?)^Q/gms) {
> print "Matched ($1) and ($2)\n";
> }
>
> that might work, but it will fall down on the last one. I don't know what
> the character for "EOF" is. If you do, then substitute the last ^Q for
> (^Q|EOF) with the EOF obviously fixed, and that /might/ do it (been a
> while since I wrote Perl).
>
> Kae
While means while the file, It runs the length of the input then
automagically dies. (I think, just drank 2 bottles of wine)
More information about the ILUG
mailing list