2
我有Perl 5,版本22,(在Cygwin,如此漂亮的新版本)。使用\ R似乎不起作用,即使它应该。无法识别的转义 R通过test.pl行7
我只是用单一的新线更换双新行:
my $data = read_file($filename);
$data =~ s/\R\R/\R/g;
但是我得到的错误“无法识别的逃生\ r穿过在test.pl第7行”
有什么我做错了吗?
我有Perl 5,版本22,(在Cygwin,如此漂亮的新版本)。使用\ R似乎不起作用,即使它应该。无法识别的转义 R通过test.pl行7
我只是用单一的新线更换双新行:
my $data = read_file($filename);
$data =~ s/\R\R/\R/g;
但是我得到的错误“无法识别的逃生\ r穿过在test.pl第7行”
有什么我做错了吗?
\R
以正则表达式模式匹配多个不同的换行符序列。
\R
中的一个字符串文字(如替换表达式[1])是没有意义的。
使用
$data =~ s/(\R)\R+/$1/g;
更重要的是,
$data =~ s/\R\K\R+//g;
记住,
s{...}{...}
相同
s{...}{ qq{...} }e
在第一个片段,'$ 1'包含行结束匹配。 – ikegami