在Perl中用空格连接字符串。任何内置插件?

时间:2012-09-06 18:35:49

标签: perl

在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, ...)

3 个答案:

答案 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;