kabel nailed it. Yet another reason to always use warnings;. If you had, you might have seen a warning message like this:
> perl -e 'use warnings; my $string="name@domain.com"'
Possible unintended interpolation of @domain in string at -e line 1.
Name "main::domain" used only once: possible typo at -e line 1.
Comment on Re: printing/parsing string including "@"