in reply to Printing Arrays in Scalar Context

Concatenation operates on strings which are scalars so its operands are forced into scalar context. If you want to print an array then don't use concatenation. Change print @x ."\n"; to print @x, "\n";