通过空格分割并与点连接会产生多个点Perl

时间:2017-05-29 08:05:03

标签: perl

我有一个字符串,我想用空格分割。然后用点加入它。拆分工作正常但加入时我得到额外的点。我知道日志文件有选项卡,但我按空格分割,所以不确定问题。在这里它可以分割得很好,因为你可以看到它打印@array为 lineswithspacesandtabs

my $line = 'lines with spaces   and     tabs';
@array = split /\s/, $line;
print @array;

但是现在我加入了它们并且它不起作用

$joinedstring = join '.', @array;
print $joinedstring;

打印 lines.with.spaces ...和..... tabs

请帮忙。

1 个答案:

答案 0 :(得分:3)

几乎就在那里。您按空格/\s/拆分,而不是所有空格。尝试拆分/\s+/

my $line = 'lines with spaces   and     tabs';
@array = split /\s+/, $line;

编辑空格分割的默认行为是split " ",而不是split /\s+/

my $line = 'lines with spaces   and     tabs';
@array = split " ", $line;