Beefy Boxes and Bandwidth Generously Provided by pair Networks
Pathologically Eclectic Rubbish Lister

Re^3: Regex for e-mail contacts name

by flexvault (Prior)
on Jan 23, 2012 at 20:45 UTC ( #949521=note: print w/ replies, xml ) Need Help??

in reply to Re^2: Regex for e-mail contacts name
in thread Regex for e-mail contacts name


You don't say where the data is coming from, so to get your $string to be what you want, you need to escape the '@' signs:

my $string = qq|sean\, "richard" <richard\>, "john +" <john\>, <jack\>|;

For this, I would use 'split': ( tested code, but re-typed from X-Terminal ):

my @email = split(/\,/,$string); for my $var( 0 .. $#email ) { print "$email[$var]\n"; ..... # put additional code here }

Now you have an array that you could use a regex or 'split' again on each element of the array in get the format you want. If the data is coming from disk, it maybe that each email address is on a line terminated with a 'CR'.

Hope this helps.

"Well done is better than well said." - Benjamin Franklin

Comment on Re^3: Regex for e-mail contacts name
Select or Download Code
Replies are listed 'Best First'.
Re^4: Regex for e-mail contacts name
by lothar4ever (Initiate) on Jan 23, 2012 at 20:57 UTC
    thanks for the reply but that is not what i need.
    The string is coming from an incoming email, i don't know what it is. This is why i need a regex, because all email clients send emails with different formats (Outlook uses names, Gmail is plain, Hotmail sends with <>).

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others scrutinizing the Monastery: (7)
As of 2015-10-08 16:26 GMT
Find Nodes?
    Voting Booth?

    Does Humor Belong in Programming?

    Results (221 votes), past polls