$ /和$ \做什么?

xax*_*xes -1 arrays perl special-variables

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

use strict;
$\ = $/;

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

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

print for @array;
Run Code Online (Sandbox Code Playgroud)

他们的意思是什么?

TLP*_*TLP 10

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

print for @array;
Run Code Online (Sandbox Code Playgroud)

..看起来比较顺畅

print "$_\n" for @array;
Run Code Online (Sandbox Code Playgroud)

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

say for @array;
Run Code Online (Sandbox Code Playgroud)