Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot
 
PerlMonks  

Re: finding emails

by Enlil (Parson)
on Nov 11, 2002 at 22:57 UTC ( [id://212134]=note: print w/replies, xml ) Need Help??


in reply to finding emails

The if/elsif statements evaluate to true if the regular expression is true, and once it is true it goes through the stuff in the block, and skips the rest of your elsif statements (as well as any other matches in that line, as it is never told to look for another one, even though the g is there it never returns). You might want each individual regular expression in its own while loop (I am sure there are more efficient ways of doing this.) and then passing the resulting values to a hash. for example:

while ( <FIN>) { while ( s#first_expression#do_something#eg ){ $hashed{$var++}; } #more loops here }

This way the loop will continue while there exists anything else in the text that matches the regular expression.

Update:Another thing I was thinking of is you could split the stuff in the line into "words" and then run the expressions against each "word", as I will assume that each of your emails is seperated by something or other (be it a space, or something else), and then you won't have the problem of the second e-mail not matching as each "word" will at most have one e-mail in it.

-enlil

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://212134]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others contemplating the Monastery: (7)
As of 2024-04-19 07:36 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found