有沒有辦法做到這一點,而沒有獲得無限循環?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