如何正确链接 Perl 替换
How to properly chain Perl substitutions
我注意到直接在终端中时很容易将替换链接在一起:
perl -p -i -e 's/\xa/\xd/g; s/(<ACROSS PUZZLE>.+<GRID>\r\t)([A-Z\.]{15,})(\r\t.+)//g' _temp.txt;
但是,我没有成功地将两个替换组合在一起,因为我重写了一些脚本。目前,作为两个单独的语句,它可以工作,但我不确定如何将这两行组合在一起:
$thisGrid =~ s/\xa/\xd/g;
$thisGrid =~ s/(<ACROSS PUZZLE>.+<GRID>\r\t)([A-Z\.]{15,})(\r\t.+)//g;
首先我尝试了:
$thisGrid =~ s/\xa/\xd/g =~ s/(<ACROSS PUZZLE>.+<GRID>\r\t)([A-Z\.]{15,})(\r\t.+)//g;
这似乎没有用。
其他类似话题似乎没有回答我的问题。
foreach 循环可用作主题词。
for ($thisGrid) {
s/\x0A/\x0D/g;
s/(?:<ACROSS PUZZLE>.+<GRID>\r\t)([A-Z\.]{15,})(?:\r\t.+)//g;
}
否则需要使用/r
来return修改后的字符串
$thisGrid =
$thisGrid
=~ s/\x0A/\x0D/gr
=~ s/(?:<ACROSS PUZZLE>.+<GRID>\r\t)([A-Z\.]{15,})(?:\r\t.+)//gr;
您可以将它们链接起来
我注意到直接在终端中时很容易将替换链接在一起:
perl -p -i -e 's/\xa/\xd/g; s/(<ACROSS PUZZLE>.+<GRID>\r\t)([A-Z\.]{15,})(\r\t.+)//g' _temp.txt;
但是,我没有成功地将两个替换组合在一起,因为我重写了一些脚本。目前,作为两个单独的语句,它可以工作,但我不确定如何将这两行组合在一起:
$thisGrid =~ s/\xa/\xd/g;
$thisGrid =~ s/(<ACROSS PUZZLE>.+<GRID>\r\t)([A-Z\.]{15,})(\r\t.+)//g;
首先我尝试了:
$thisGrid =~ s/\xa/\xd/g =~ s/(<ACROSS PUZZLE>.+<GRID>\r\t)([A-Z\.]{15,})(\r\t.+)//g;
这似乎没有用。
其他类似话题似乎没有回答我的问题。
foreach 循环可用作主题词。
for ($thisGrid) {
s/\x0A/\x0D/g;
s/(?:<ACROSS PUZZLE>.+<GRID>\r\t)([A-Z\.]{15,})(?:\r\t.+)//g;
}
否则需要使用/r
来return修改后的字符串
$thisGrid =
$thisGrid
=~ s/\x0A/\x0D/gr
=~ s/(?:<ACROSS PUZZLE>.+<GRID>\r\t)([A-Z\.]{15,})(?:\r\t.+)//gr;
您可以将它们链接起来