if (m/Reply issued by (.*?):(.*)/) { my $issuer = $1; my $msg = $2; if ($issuer =~ m/([^\\]+)@/) { $issuer = $1; } $msg =~ s/\A\s*'\(ACK\)\s*//; $msg =~ s/\s*'\s*\z//; # results are in $issuer and $msg } else { # not a Reply issued by message }