我有一个像这样的字符串:
city: London
Code: 123
address: 1, Napoleon
Phone: 123-123-1232
所有行都在一个字符串中,我想打印所有信息,但在一行中用分隔符。
我尝试使用以下代码:
$val =~ s/\n/\ /;
但没有。
答案 0 :(得分:4)
您将要关闭,需要使用修饰符g
查看该程序的行为,第二张照片显示您想要的内容。
您可以在perldoc.perl.org上的perlre中看到所有修饰符。
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;
答案 1 :(得分:3)
我认为音译操作员也可以做到这一点:
$val =~ tr/\n/ /;
Transliterate进行字符的一对一映射,这意味着它不具有多用途性,但是对于诸如此类的事情非常有用。它还可以做一些很酷的事情,例如:
$val =~ tr/\n/ /s;
如果后缀“ s”是指使用任意数量的换行符并将其替换为单个空格,则在出现空格的情况下,例如“地址行2”是可选的,并且可能为空白。