The general answer to this sort of problem is to use capturing parentheses in your regex in combination with the /g operator:
# assume $regex has been built with qr// and matches what you want
my $regex = qr/foobar/;
# assuming $data contains all the data you want to scan from
my @things_im_interested_in = ( $data =~ /($regex)/g );
# or, if it isn't and you are doing this from multiple data
# strings
push @things_im_interested_in, $data_chunk =~/($regex)/g;
The /g modifier returns all the matches in the string, so those match operators return a list of the matching parts of the string.
However, as a read through the Perl FAQ (or even on this site for, say "Email Address") will reveal, using regexes to match email addresses is a dicey issue in the first place.
I mistrust all systematizers and avoid them. The will to a system shows a lack of integrity -- F. Nietzsche
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.
|