You should first start by using the right kind of quotes. @ is going to interpolate within double quotes, as the sigil of an array. You need single quotes that don't trigger interpolation. Then, you could use the substitution operator like this:
my $email = 'dummy@dumdum.com'; $email =~ s/\@/\\@/; print $email, "\n";
...could... but there's another way too. quotemeta will "escape" any nonword character. While this does include @, it also includes . (dot). That may or may not be a problem for you. You'll have to decide.
Further reading: Interpolation within quotes is discussed in excellent detail in perlop. The substitution operator is also discussed in perlop, as well as perlre and perlretut.
Dave
In reply to Re: How do I find "@" in a string variable?
by davido
in thread How do I find "@" in a string variable?
by dbdiaz
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |