-----Original Message-----
From: Eric Heaton <[EMAIL PROTECTED]>
To: Nolen, Mike <[EMAIL PROTECTED]>
Date: Friday, May 19, 2000 10:27 AM
Subject: Re: need help
>a couple of things:
>1. the regular expression is doing ".*" greedy matching (see p. 63 of the
>Camel book, 2nd ed., or the perlre manpage), so it will match as much as it
>can up to a '<', which is why it's only returning the last item. try a
>non-greedy match, ".*?".
>2. the code is destructively modifying $aa (using substitution/replace), so
>it will always only find one item. you might want to try a simple match
with
>the /g modifier:
>
>$aa = "Mike <mike\@mike.com>, Mark <mark\@mark.com>";
>while( $aa =~ m/\<(.*?)\>/g ) {
> print "$1\n";
>}
>
>this assumes that '<' or '>' may not appear between enclosing '<' and '>'
>characters.
>
>hope this helps
> -----Original Message-----
> From: Nolen, Mike <[EMAIL PROTECTED]>
> To: Perl-Win32-Users Mailing List
><[EMAIL PROTECTED]>
> Date: Friday, May 19, 2000 11:54 AM
> Subject: need help
>
>
> I need to return all data inside each set of <> in a string ...
> I've included 2 examples, but they both return the last item only...
> TIA, mike
> -----------------------------
> $aa = "Mike <mike\@mike.com>, Mark <mark\@mark.com>";
> print "$aa\n";
> -- ie. 1
> $aa =~ s/^.*\<(.*)\>.*$/\1/g;
> print "$aa\n";
>
> --ie. 2
> for ( $aa =~ s/^.*\<(.*)\>.*$/\1/g )
>
> print "$aa\n";
> }
>
>
>
>
---
You are currently subscribed to perl-win32-users as: [archive@jab.org]
To unsubscribe, forward this message to
[EMAIL PROTECTED]
For non-automated Mailing List support, send email to
[EMAIL PROTECTED]