perldoc perlvar
の回答を収集するには、(少なくとも)2つのいずれかを行うことができます。
1)を設定$"
(区切り):配列または配列スライスが二重引用符で囲まれた文字列または /.../のような同様のコンテキストに補間さ
、その要素であります をこの値で区切ります。デフォルトはスペースです。例えば、この:
print "The array is: @array\n";
これに相当する:
print "The array is: " . join($", @array) . "\n";
=>$"
ストリング
2にアレイの補間の挙動に影響を与えます)$,
(出力フィールドセパレータ)を設定します。
印刷オペレータの出力フィールドセパレータ。定義されている場合、この の値は、各印刷の引数の間に印刷されます。デフォルトはundefです。 ニーモニック:printステートメントに "、"があるときに出力されるもの。
=>$,
は、print
ステートメントの動作に影響します。
いずれかが機能し、local
と一緒に使用して、囲みスコープ内でのみ特殊変数の値を設定することができます。私は推測の違いは、$"
を使用すると、printコマンドに限定されるものではないということです:「魔法」がない、印刷コマンドで3行目にたまたまここ
my @z = qw/ a b c /;
local $" = " and ";
my $line = "@z";
print $line;
。
実際には、join
を使用するのが最も読みやすく、小さな囲みブロックを使用しない限り、将来の読者は魔法の変数の設定に気付かず(たとえば、トップに近い)、行動が期待どおりの正常なパフォーマンス小さなワンオフやワンライナーのためにこれらの手口を省き、生産コード用の可読なjoin
を使用します。
http://www.ideone.com/iN2dt? – Konerak