in reply to printing/parsing string including "@"

Why not just use single quotes?

$string = 'name@domain.com'; print $string;

Double quoted strings expand variables. @domain looks like a variable. Therefore Perl tries to expand it - but it's empty.

As usual, running with -w and use strict would have shown you what the problem was.

--
<http://www.dave.org.uk>

"The first rule of Perl club is you do not talk about Perl club."
-- Chip Salzenberg