2010-04-13 124 views
2

当我学习打印数组变量时,发现使用双引号时插入的空白区域。代码段代码如下。你能告诉我为什么吗?使用或不使用双引号时打印数组变量

#!/usr/bin/perl -w 
use strict; 
use warnings; 

my @str_array = ("Perl","array","tutorial"); 
my @int_array = (5,7,9,10); 

print @str_array; 
print "\n"; 
# added the double quotes 
print "@str_array"; 
print "\n"; 
print @int_array; 
print "\n"; 
# added the double quotes 
print "@int_array"; 

输出:

Perlarraytutorial 
Perl array tutorial 
57910 
5 7 9 10 

回答

5

当一个变量是一个字符串内使用,则使用串内插。字符串插值意味着,变量被格式化为一个字符串。当一个数组变量被格式化成一个字符串时,它被赋予了元素之间的空格。这些空间实际上是由变量$”这个变量的默认值是空间决定欲了解更多信息,请参阅perl documentation for special variables