У меня есть эта проблема в Perl. У меня есть файл, в который я получаю список писем в качестве входных данных.
Я хотел бы проанализировать строку перед '@' всех адресов электронной почты. (Позже я буду хранить всю строку перед @ в массиве)
Например. в: abcdefgh@gmail.com
, я хотел бы проанализировать адрес электронной почты и извлечь abcdefgh.
Мое намерение состоит в том, чтобы получить только строку перед '@'. Теперь вопрос в том, как проверить это с помощью регулярного выражения. Или есть какой-либо другой метод, использующий substr?
, хотя я использую регулярное выражение: $ mail = ~ "\ @" в Perl, это не дает мне результата.
Кроме того, как я узнаю, что символ '@' находится в каком индексе строки $ mail?
Я ценю, если кто-нибудь может мне помочь.
#!usr/bin/perl
$mail = "abcdefgh@gmail.com";
if ($mail =~ "\@" ) {
print("my name = You got it!");
}
else
{
print("my name = Try again!");
}
В приведенном выше коде $ mail = ~ "\ @" не дает мне желаемый вывод, но ($ mail = ~ "abc") дает.
$ mail = ~ "@" будет работать, только если данная строка $ mail = "abcdefgh \ @ gmail.com";
Но в моем случае я получу ввод с адресом электронной почты в качестве его.
Не с escape-символом.
Спасибо
Tom