$mail_reg = qr{\W*(\.*(?:\w+|-)+(?:\.\w+|-)*\@\.*(?:\w+|-)+(?:\.\w+)+)\W*}; $mail_1 = ''; $mail_2 = ''; $mail_1 =~ m#$mail_reg# and print $1, $/; $mail_2 =~ m#$mail_reg# and print $1, $/; # which outputs: # email.address@something.something.something.com # emailaddress@something.something.something.com