Perl-删除table标记之间的字符串

我是Perl的新手,在某些情况下,我正在尝试从HTML文件中删除表。

下面是一个例子。如果字符串不包含字符串xyz,我想删除table标记之间的字符串。但是代码不起作用,它不会删除第一个表。我应该如何修改代码以使其正常工作?非常感谢!

下面是我的代码:

use strict;
use warnings;
use autodie;

my $data = <<TEXT;

<table>
(aaa)
</table>

<table>
xyz
</table>

TEXT

my @find=();
@find=$data =~ m/<TABLE[^>]*>(.*?)<\/TABLE>/imosg;

foreach (@find) {
if ($_!~ m/xyz/imosg){$data =~ s/$_//;}
}

print "$data\n","*" x 40, "\n" ;

转载请注明出处:http://www.dbgszz.com/article/20230330/1186185.html