2017-03-13 30 views

回答

13

因为你正在使用的连接符.,这迫使@foo标量上下文。数组返回标量上下文中元素的数量。

使用参数列表而不是与您的print连接来获取列表和换行符。数组@foo将被扩展到它包含的列表,所以换行符只是print的另一个参数。

print @foo, "\n"; 

作为替代方案,你可以使用say,这需要与use feature 'say'被激活。它消除了在打印时添加换行符的需要。 Perl 5.10提供了say

use feature 'say'; 
say @foo; 

您还可以

use v5.10; 

打开它这有什么好做的正则表达式。这是Perl的核心行为,以及Perl中的列表如何工作。

Here's a good explanation什么语境意味着在Perl中。

+3

正确的行结尾是在每个平台上换行。 PerlIO是在输入和输出之间转换nat8ve行尾的PerlIO。 – Borodin

相关问题