我有perl 5,版本22,(在Cygwin上,非常新版本)。即使它应该使用\ R似乎也不起作用。
我只是用一个新行代替双新行:
my $data = read_file($filename);
$data =~ s/\R\R/\R/g;
但是我收到错误"无法识别的转义\ R在test.pl第7行传递。"
我做错了吗?
答案 0 :(得分:5)
\R
匹配许多不同的换行符序列。
\R
(例如替换表达式 [1] )毫无意义。
使用
$data =~ s/(\R)\R+/$1/g;
更好的是,
$data =~ s/\R\K\R+//g;
记住,
s{...}{...}
与
相同s{...}{ qq{...} }e