in reply to Printing Arrays in Scalar Context

print "@a" . "\n";

Which you'd probably write as:

print "@a\n";

The use of print is a red herring here. It's the '.' operator that imposes scalar context on both of its operands.

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

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