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 に答える