Question: I have this below issue in Perl.I have a file in which I get list of emails as input. 

I would like to parse the string before '@' of all email addresses. (Later I will store all the string before @ in an array)

For eg. in : `abcdefgh@gmail.com`, i would like to parse the email address and extract abcdefgh.

My intention is to get only the string before '@'. Now the question is how to check it using regular expression. Or is there any other method using substr? 

while I use regular expression : $mail =~ "\@" in Perl, it's not giving me the result.

Also, how will I find that the character '@' is in which index of the string $mail?

I appreciate if anyone can help me out.

```
#!usr/bin/perl

$mail = "abcdefgh@gmail.com";

if ($mail =~ "\@" ) {
    print("my name = You got it!");
}
else
{
    print("my name = Try again!");
}

```

In the above code $mail =~ "\@" is not giving me desired output but ($mail =~ "abc" ) does.

$mail =~ "@" will work only if the given string $mail = "abcdefgh\@gmail.com";

But in my case, i will be getting the input with email address as its.

Not with an escape character.

Thanks,

Tom

Answer: 
Enabling warnings would have pointed out your problem:

```
#!/usr/bin/perl
use warnings;

$mail = "abcdefgh@gmail.com";
__END__
Possible unintended interpolation of @gmail in string at - line 3.
Name "main::gmail" used only once: possible typo at - line 3.

```

and enabling strict would have prevented it from even compiling:

```
#!/usr/bin/perl
use strict;
use warnings;

my $mail = "abcdefgh@gmail.com";
__END__
Possible unintended interpolation of @gmail in string at - line 4.
Global symbol "@gmail" requires explicit package name at - line 4.
Execution of - aborted due to compilation errors.

```

In other words, your problem wasn't the regex working or not working, it was that the string you were matching against contained "abcdefgh.com", not what you expected.
What if you tried this:

```
my $email = 'user@email.com';

$email =~ /^(.+?)@/;
print $1

```

$1 will be everything before the @.