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
4

2 回答 2

5

当在字符串中使用变量时,使用字符串插值。字符串插值意味着,除其他外,变量被格式化为字符串。当一个数组变量被格式化为一个字符串时,它在元素之间被赋予了空格。这些空格实际上是由变量 $" 决定的。这个变量的默认值是一个空格。有关更多信息,请参阅特殊变量的 perl 文档

于 2010-04-13T07:15:50.253 回答
5

这是回答您问题的 perlfaq:

为什么打印行数组时会出现奇怪的空格?

于 2010-04-13T07:21:43.503 回答