String 在perl中从字符串中删除多个新行

String 在perl中从字符串中删除多个新行,string,perl,newline,String,Perl,Newline,我有这样一个字符串: city: London Code: 123 address: 1, Napoleon Phone: 123-123-1232 所有行都在一个字符串中,我想打印所有信息,但在一行中用分隔符 我尝试使用以下代码: $val =~ s/\n/\ /; 但是什么都没有。你很接近了,你需要修饰符g 查看此程序的行为,第二次打印将显示所需内容 您可以在perldoc.perl.org上看到中的所有修饰符 use strict; use warnings; my $val = &

我有这样一个字符串:

city: London
Code: 123
address: 1, Napoleon
Phone: 123-123-1232
所有行都在一个字符串中,我想打印所有信息,但在一行中用分隔符

我尝试使用以下代码:

$val =~ s/\n/\ /;

但是什么都没有。

你很接近了,你需要修饰符
g

查看此程序的行为,第二次打印将显示所需内容

您可以在perldoc.perl.org上看到中的所有修饰符

use strict;
use warnings;

my $val = <<'END';
city: London
Code: 123
address: 1, Napoleon
Phone: 123-123-1232
END

print $val;

$val =~ s/\n/ /g;

print $val;
使用严格;
使用警告;

my$val=我认为音译操作符也会起作用:

$val =~ tr/\n/ /;
音译对字符进行了一对一的映射,这意味着它不是多用途的,但对于这样的事情它做得很好。它还可以做一些很酷的事情,比如:

$val =~ tr/\n/ /s;

其中“s”后缀表示在有空格的情况下,取任意数量的换行符并用一个空格替换它们——比如“地址行2”是可选的,可能是空的。

那么,您的代码是什么,它是如何失败的?请回答您的问题并添加相关代码。我没有代码,我真的不知道如何执行此操作我不知道此编辑是否对您有帮助,但我所有的…@raulvarga正如您现在看到的,当您向我们展示您所拥有的时,它确实有帮助:)。我建议总是这样做:发布你的代码。(此外,除了能够帮助您解决问题外,人们通常还会提供其他改进。)