-1

我在$\ = $/研究如何合并 2 个数组时发现,但我根本不明白这一点。一个例子:

use strict;
$\ = $/;

my @array1 = ("string1", "string2");
my @array2 = ("string3", "string4");

my @array = (@array1, @array2);

print for @array;

他们的意思是什么?

4

2 回答 2

10

$\是输出记录分隔符。它包含的任何内容都附加到每个print语句中。$/是输入记录分隔符,默认值为\n(newline)。通过将输出记录分隔符设置为换行符,您不必在打印语句中添加换行符,从而使语句:

print for @array;

..看起来更平滑,相比

print "$_\n" for @array;

请注意,如果他使用use 5.010;而不是$\ = $/;,他可以使用

say for @array;
于 2013-03-12T19:58:42.583 回答
2

请参阅 Perl 文档,或者这里有另一个很好的文章。

$/是输入记录分隔符,$\是输出记录分隔符。上面的链接有一些有用的助记工具来记住这些和所有其他特殊的 Perl 变量。

于 2013-03-12T20:00:59.510 回答