磕磕碰碰学Perl之print和数组

磕磕碰碰学Perl之print和数组

今天做learning perl后的习题,写了一行这样的代码。

[Copy to clipboard] [ - ]
CODE:
print @lines . "\n"; #这一行打不出来
print @lines, "\n";  #这一行正常显示了

请问这是为什么?
print后跟的是一个list,
对于print @lines , "\n";把@lines和"\n"作为了一个list,因此输出和你的想法一致
对于print @lines . "\n";@lines被放在了一个标量上下文中,所以你得到的是这个list( @lines )的个数,因此打印的是@lines中元素的个数和一个换行符


[Copy to clipboard] [ - ]
CODE:
这里的 "\n"是作为标量来对待的?
书上说有将数组转化为标量而没有将标量转化为数组的操作,那么
@lines . "\n"
就是相当于
scalar @lines . "\n"
最后得到的结果就是
"*\n" ?

不知道我上面这样的理解对不对?
"\n"是字符串,任何时候都是标量。后面都对。


QUOTE:
原帖由 nkcsx 于 2007-9-13 18:45 发表
"\n"是字符串,任何时候都是标量。后面都对。

谢谢