我有一个子函数,在其中我正在使用通常的while
-loop 逐行读取 Perl 中的文件,因为这是迄今为止我在 Perl 中知道的唯一(也是最好的?)选项。现在我正在基于行搜索带有循环的关键字
my $var;
open(FILE, "stuff.dat")
while (my $line = <FILE>){
if ($line =~ /regex/) {
$var = $1;
return $var;
} else {
return "var is not defined!";
}
}
close(FILE);
但即使它获得关键字并被$var
指定,它也会在下一行被覆盖。while
因此,如果找到并$var
定义了关键字,我想退出-loop。
我尝试了next if
ornext unless
或last
-exit 但这不能正常工作,并且perldoc声明我们不能last
用于 subs。