Regexp::汇编和无限循环
我有下面的代码,有人可以解释为什么这个代码进入无限循环,以及我如何捕获匹配的模式Regexp::汇编和无限循环,regex,perl,cpan,Regex,Perl,Cpan,我有下面的代码,有人可以解释为什么这个代码进入无限循环,以及我如何捕获匹配的模式 my $dis = (ff => 'dfsdf2' yy => 'xx'); my $ra = Regexp::Assemble->new->track(1)->add(keys %dis); my $data='blah blah ff dfsf yy'; while( $ra->match($data) ) { my $res =
my $dis = (ff => 'dfsdf2'
yy => 'xx');
my $ra = Regexp::Assemble->new->track(1)->add(keys %dis);
my $data='blah blah ff dfsf yy';
while( $ra->match($data) ) {
my $res = $ra->matched;
print $res;
}
我使用的是v5.18.0草莓版,更新的Regexp::Assemble没有任何内置的迭代支持。您必须执行以下操作:
use 5.010;
my $re = $ra->re;
while ( $data =~ /$re/g ) {
my $res = $ra->source($^R);
print $res;
}