http://qs321.pair.com?node_id=1187123


in reply to arrays and dot operator

It's not a newline problem. In your second section, the line print @new_array . "\n" has @new_array in scalar context, because the string concatenation operator (.) puts its arguments in scalar context. The line is actually executed as print scalar(@new_array) . "\n". In scalar context, you get the array length, which is 5 in this case.

If you want to print a newline after the array, just use a comma:

print @new_array, "\n";