i need the blank in 'From [' etc in order to distinguish it from the strings 
with 'From:' one solution to the problem, btw, is to use '\s' instead of a 
literal blank. does this behavior rank as a bug in perl?

tom arnall
north spit, ca


On Thursday 30 March 2006 05:15 am, Hans Meier (John Doe) wrote:
> tom arnall am Donnerstag, 30. März 2006 12.36:
> > the following code:
> >
> >     my (@main);
> >     $_="
> >     From a
> >     From: b
> >     From: c
> >     From: d
> >     ";
> >     @main = /From [^\n]*?\n.*?(From: .*?\n).*?/gx;
> >     print "@main";
> >     print "------------------------------\n";
> >     @main =         /From [^\n]*?\n.*?(From: .*?\n).*?/g;
> >     print "@main";
> >
> > produces:
> >
> >     From: b
> >      From: d
> >     ------------------------------
> >     From: b
> >
> > the only difference between the two regex lines is the 'x' after '/g' in
> > the first of the two regex lines.
>
> indeed :-)
>
> And your question could be: Why does this produce different results?
>
> There's an additional difference on the semantic level: spaces in the 1st
> regex are irrelevant. Look at the first regex space: in the 2nd regex, it
> matches (only) in "From a", but not in "From: c", whereas the 1st regex
> matches "From a" *and* "From: c".
>
> /From[^\n]*?\n.*?(From: .*?\n).*?/gx;
> and
> /From[^\n]*?\n.*?(From: .*?\n).*?/g;
> produce both the same output.
>
> hth!
> Hans


--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>


Reply via email to