Because the at sign (@) is the preface character for a Perl array, you can't use it directly within a string constant. If you read an at sign from a file or accept it from a user it works just fine, but to use it as a constant you must escape it's special meaning. So you'd use "alice\@yahoo.com" instead of just "firstname.lastname@example.org" to get the literal at sign into the string.
No problem. Compared to most other scripting languages, Perl is monsterously expressive. If a batch file is a blow gun, Perl is more comparable to an M1 Abrams. It takes a bit longer to learn to use Perl, but the effort pays for itself many thousand times over!