$ /和$ \做什么?

时间:2013-03-12 19:53:42

标签: arrays perl special-variables

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

use strict;
$\ = $/;

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

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

print for @array;

他们是什么意思?

2 个答案:

答案 0 :(得分:10)

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

print for @array;

..与

相比,看起来更顺畅
print "$_\n" for @array;

请注意,如果他使用use 5.010;代替$\ = $/;,他可以使用

say for @array;

答案 1 :(得分:2)

请参阅Perl文档或another good write-up is here

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