Perl 按空格分割并用点连接可创建多个点

Perl 按空格分割并用点连接可创建多个点,perl,Perl,我有一个字符串,我想用空格分隔。然后用一个点连接它。分割效果很好,但当连接时,我会得到额外的点。我知道日志文件有制表符,但我用空格分隔,所以不确定问题出在哪里。在这里,它可以很好地拆分,因为您可以看到它将@array打印为线条,并使用空格和制表符 但现在我加入了他们,这不起作用 $joinedstring = join '.', @array; print $joinedstring; 打印行。带有。空格…和…选项卡 请帮忙。快到了。您正在按空格/\s/进行拆分,而不是按所有空格进行拆分。尝试

我有一个字符串,我想用空格分隔。然后用一个点连接它。分割效果很好,但当连接时,我会得到额外的点。我知道日志文件有制表符,但我用空格分隔,所以不确定问题出在哪里。在这里,它可以很好地拆分,因为您可以看到它将@array打印为线条,并使用空格和制表符

但现在我加入了他们,这不起作用

$joinedstring = join '.', @array;
print $joinedstring;
打印行。带有。空格…和…选项卡


请帮忙。

快到了。您正在按空格
/\s/
进行拆分,而不是按所有空格进行拆分。尝试拆分
/\s+/

my $line = 'lines with spaces   and     tabs';
@array = split /\s+/, $line;
my $line = 'lines with spaces   and     tabs';
@array = split " ", $line;
EDIT空白拆分的默认行为是
split”“
而不是
split/\s+/

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

差不多了。您正在按空格
/\s/
进行拆分,而不是按所有空格进行拆分。尝试拆分
/\s+/

my $line = 'lines with spaces   and     tabs';
@array = split /\s+/, $line;
my $line = 'lines with spaces   and     tabs';
@array = split " ", $line;
EDIT空白拆分的默认行为是
split”“
而不是
split/\s+/

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

实际上,如果要用点替换空格,请尝试替换
line=~s/\s+//g
是的,谢谢。事实上,对于我的实际脚本,我所做的不仅仅是搜索并替换为拆分。但你是对的。谢谢你的评论。实际上,如果你要用点替换空格,请尝试替换
line=~s/\s+//g
是的,谢谢。事实上,对于我的实际脚本,我所做的不仅仅是搜索并替换为拆分。但你是对的。感谢您的评论。@GerhardBarnard:
split/\s+/
的任何示例几乎肯定应该写为
split”“
,这是
split
的默认行为。@GerhardBarnard:
split/\s+//code>的任何示例几乎肯定应该写为
split”“
,这是
split