3

Perl では、次のように複数の文字列をスペースで連結できます。

my $long_string = $one_string . " " . $another_string . " " . $yet_another_string . " " . 
$and_another_string . " " $the_lastr_string

ただし、これを入力するのは少し面倒です。

このタスクを簡単にするビルトインはありますか?

例:

concatenate_with_spaces($one_string, $another_string, $yet_another_string, ...)
4

3 に答える 3

13

あなたがしたいjoin

my $x = 'X';
my @vars = ( 1, 'then', 'some' );
my $long_string = join ' ', $x, 2, @vars;   # "X 2 1 then some"
于 2012-09-06T18:38:14.597 に答える
9

Zaid は、 を使用して慣用的な解決策を示しjoinました。ただし、それを行う方法は他にもあります。

my @vars = ($one, $two, $three);
my $str1 = "@vars";               # Using array interpolation
my $str2 = "$one $two $three";    # interpolating scalars directly

配列の補間では、既定でスペースに設定されている事前定義された変数$"(リスト セパレーター) が使用されます。変数を補間する場合、スペースを文字列に連結するために使用する必要はありません.。二重引用符で囲まれた文字列で直接使用できます。

于 2012-09-06T18:50:24.460 に答える
4
my @list_of_strings = ($one_string, $two_strings );
my $string = join(' ', @list_of_strings );
print $string;
于 2012-09-06T18:38:02.250 に答える