有没有办法做到这一点,而没有获得无限循环?perl中的无限while循环
while((my $var) = $string =~ /regexline(.+?)end/g) {
print $var;
}
这将导致一个无限循环,可能是因为VAR直接从里面同时一个正则表达式的分配返回“true”每一次?
我知道我能做到这一点:
while($string =~ /regexline(.+?)end/g) {
my $var = $1;
print $var;
}
,但我希望我能够挽救一条线。有没有我可以使用的正则表达式修饰符或类似的东西?
(同样,这是什么符号/招居然叫,如果我想寻找它:
(my $var) = $string =~ /regex/;
谢谢!
被警告,'foreach'将整个结果集加载到内存中,而不是象'while'一样迭代它。 – hhaamu