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