在Perl中,我可以将多个字符串连接起来,如下所示:
my $long_string = $one_string . " " . $another_string . " " . $yet_another_string . " " .
$and_another_string . " " $the_lastr_string
但是,输入此内容有点麻烦。
是否有内置功能可以简化此任务?
e.g。类似的东西:
concatenate_with_spaces($one_string, $another_string, $yet_another_string, ...)
答案 0 :(得分:13)
您想要join
:
my $x = 'X';
my @vars = ( 1, 'then', 'some' );
my $long_string = join ' ', $x, 2, @vars; # "X 2 1 then some"
答案 1 :(得分:9)
Zaid使用join
给出了惯用解决方案。但是,还有更多方法可以做到。
my @vars = ($one, $two, $three);
my $str1 = "@vars"; # Using array interpolation
my $str2 = "$one $two $three"; # interpolating scalars directly
插值数组使用预定义变量$"
(列表分隔符),默认情况下设置为空格。插入变量时,您不需要使用.
将空格连接到字符串,它们可以直接用于双引号字符串。
答案 2 :(得分:4)
my @list_of_strings = ($one_string, $two_strings );
my $string = join(' ', @list_of_strings );
print $string;