我有一个模式匹配器代码,如:
#!/usr/bin/perl
use strict;
use warnings;
open(HTML,"<source.html");
my $html = do {local $/; <HTML>};
$html =~ s/\n\ *//g;
while ($html=~m/<OPTION [^>]*>\D*([^<]+)/g){
print $1;
print "\n";
}
close(HTML)
我想这样做直到文件然而我想停止并且在循环中断它它看到任何与开头的模式匹配的字符:
</S
我如何使用Perl做到这一点?
答案 0 :(得分:2)
如果要退出循环,则应使用最后一个命令:
last if ( $pattern ~= /^<\/S/ );
答案 1 :(得分:0)
( my $to_search = $html ) =~ s{</S.*}{}s;
while ($to_search =~ m{<OPTION [^>]*>\D*([^<]+)}g) {
print("$1\n");
}