2013-03-12 91 views
-1

我发现了​​,当时我正在研究如何合并2个数组,但我完全不理解这一点。一个例子:

use strict; 
$\ = $/; 

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

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

print for @array; 

这是什么意思?

+11

Ref。 ['perldoc perlvar'](http://perldoc.perl.org/perlvar.html) – 2013-03-12 19:55:05

回答

10

$\是输出记录分隔符。不管它包含在每个print声明中。 $/是输入记录分隔符,其默认值为\n(换行符)。通过设置输出记录分隔符为换行符,你不必换行添加到您的打印语句,使得语句:

print for @array; 

..look更加顺畅,比起

print "$_\n" for @array; 

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

say for @array; 
2

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

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