use strict;
my $str = 'test@rws.lt
res+ds@gmail.com
res-dsaf@f.com
4334-@fdf.fdsfdsfdsfs.dfsd
e@ds.lt
w.w@f.lt
w--w--we@d.lr
we@rer-rer.lt
wee@we.co.uk
mindaugas.dsd@dsfs.com
c@c.com
xn--iema-kbbc.lt@xn--iema-kbbc.lt
"Joe.\\\\Blow"@example.com
bc.123@example.com
reŠna@g.com
квіточка@пошта.укр
"Fred\\ Bloggs"@example.com
dsad@dfs.c
ewr@rsrew@dsad.com
@gf.com
ree+er@.com
res@.lt
@.lt
res.lt
sad@
s@fdf..com
es@fdf..com
w@fdsf.
';
my $regex = qr/^([^\s\@])+\@(([^\s\@\.])+\.)+([^\s\.]{2,})+$/mip;
my $subst = '';
my $result = $str =~ s/$regex/$subst/rg;
print "The result of the substitution is' $result\n";
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Perl, please visit: http://perldoc.perl.org/perlre.html