I think it's important to note here that a comma *does not* concatenate.
in reply to Period vs. Comma concatenation and reference material for it
print() accepts a list, which is what you were giving it.
It is my assumption that the '.' forces the variable to be printed in a scalar context instead of as a list.
The dot operator concatinates two strings
A string is a scalar. You tried to concat a string ("\n") with a list, which is not possible. So Perl took the liberty of putting @array in its scalar context.