Beefy Boxes and Bandwidth Generously Provided by pair Networks
Keep It Simple, Stupid
 
PerlMonks  

Re: finding emails

by Enlil (Parson)
on Nov 11, 2002 at 22:57 UTC ( #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


Comment on Re: finding emails
Download Code

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others scrutinizing the Monastery: (8)
As of 2014-08-30 01:01 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The best computer themed movie is:











    Results (290 votes), past polls