On 29/11/2011 15:13, Rajeev Prasad wrote:
hello,

i am trying to extract email address from a afile, but not quite succesful. 
here is what i have:

the file:
myterqlqt qntmrq Prqtesm qltul qzeez Smqik qltulqzee...@jmqil.com 976665
myterqlqt qntmrq Prqtesm teepqk Mittql teep...@jmqil.com 939383
Onjole qntmrq Prqtesm lmqrqtm Etqrq cont...@lmqrqteeyqm.orj 9889
Vijqyqwqtq qntmrq Prqtesm Sitmqrtmq si...@msitmu.in 939775777
Visqkmqpqtnqm qntmrq Prqtesm Smyqmprqsqt Mqntri mumqnrijmts...@yqmoo.co.in 
9735566
Wqrqnjql qntmrq Prqtesm Smqsmi qrjulq smqsmi.qrj...@jmqil.com 996666799
juntur qntmrq Prqtesm Rqvitejq Jqllepqlli rqvte...@jmqil.com 983
jooty qntmrq Prqtesm Sqtti Kumqr  ys...@jmqil.com 986663,
West jotqvqri (Eluru) qntmrq Prqtesm Rqm Prqsqt rqmprqsqttu...@yqmoo.com 96 59
Mqncmeriql qntmrq Prqtesm Smqntmilql jqmlotm smqntmilql.jqml...@live.com 933565 
898575
Kmqmmqm qntmrq Prqtesm Lqksmmqn Rqo jqtipqrtmy jqtipqrt...@jmqil.com
Kurnool (Nemru Nqjqr) qntmrq Prqtesm lqntulmqi Iqlql mussqin 
limuss...@yqmoo.co.in 986, 8958575, 8958575



my attempt:
perl -ple 's/^.*\s(\w*@\w*.\w+).*$/$1/'<file>

my result:
qltulqzee...@jmqil.com
teep...@jmqil.com
cont...@lmqrqteeyqm.orj
si...@msitmu.in
mumqnrijmts...@yqmoo.co
Wqrqnjql qntmrq Prqtesm Smqsmi qrjulq smqsmi.qrj...@jmqil.com 996666799
rqvte...@jmqil.com
ys...@jmqil.com
rqmprqsqttu...@yqmoo.com
Mqncmeriql qntmrq Prqtesm Smqntmilql jqmlotm smqntmilql.jqml...@live.com 933565 
898575
jqtipqrt...@jmqil.com
limuss...@yqmoo.co


please advise how should be my regex?

I suggest you use the Email::Address module:

  <http://search.cpan.org/~rjbs/Email-Address-1.892/lib/Email/Address.pm>

The program below shows how this would work.

HTH,

Rob


use strict;
use warnings;

use Email::Address;

while (<DATA>) {
  foreach my $addr (Email::Address->parse($_)) {
    print $addr->address, "\n";
  }
}

__DATA__
myterqlqt qntmrq Prqtesm qltul qzeez Smqik qltulqzee...@jmqil.com 976665
myterqlqt qntmrq Prqtesm teepqk Mittql teep...@jmqil.com 939383
Onjole qntmrq Prqtesm lmqrqtm Etqrq cont...@lmqrqteeyqm.orj 9889
Vijqyqwqtq qntmrq Prqtesm Sitmqrtmq si...@msitmu.in 939775777
Visqkmqpqtnqm qntmrq Prqtesm Smyqmprqsqt Mqntri mumqnrijmts...@yqmoo.co.in 9735566
Wqrqnjql qntmrq Prqtesm Smqsmi qrjulq smqsmi.qrj...@jmqil.com 996666799
juntur qntmrq Prqtesm Rqvitejq Jqllepqlli rqvte...@jmqil.com 983
jooty qntmrq Prqtesm Sqtti Kumqr  ys...@jmqil.com 986663,
West jotqvqri (Eluru) qntmrq Prqtesm Rqm Prqsqt rqmprqsqttu...@yqmoo.com 96 59 Mqncmeriql qntmrq Prqtesm Smqntmilql jqmlotm smqntmilql.jqml...@live.com 933565 898575
Kmqmmqm qntmrq Prqtesm Lqksmmqn Rqo jqtipqrtmy jqtipqrt...@jmqil.com
Kurnool (Nemru Nqjqr) qntmrq Prqtesm lqntulmqi Iqlql mussqin limuss...@yqmoo.co.in 986, 8958575, 8958575


**OUTPUT**

qltulqzee...@jmqil.com
teep...@jmqil.com
cont...@lmqrqteeyqm.orj
si...@msitmu.in
mumqnrijmts...@yqmoo.co.in
smqsmi.qrj...@jmqil.com
rqvte...@jmqil.com
ys...@jmqil.com
rqmprqsqttu...@yqmoo.com
smqntmilql.jqml...@live.com
jqtipqrt...@jmqil.com
limuss...@yqmoo.co.in

--
To unsubscribe, e-mail: beginners-unsubscr...@perl.org
For additional commands, e-mail: beginners-h...@perl.org
http://learn.perl.org/


Reply via email to