为什么此程序读取文件会导致无限循环?

时间:2018-06-27 21:12:53

标签: perl

我想找到一个程序来逐行读取和写入文件。

谷歌搜索我发现How to Read and Write Files in Perl 在结果的第一页上。 它包含以下代码以读取文件并将每一行写入stdout:

#!/usr/local/bin/perl

open(MYFILE, 'data.txt');

while ( ) {
    chomp;
    print "$_\n";
}

close(MYFILE);

当我运行此程序(在Ubuntu上使用Perl 5.18.2)时,它会不断打印换行符,直到停止为止。有什么问题吗?

1 个答案:

答案 0 :(得分:2)

上面的while语句不正确:“ while()”与“ while(1)”相同,并且会导致无限循环。

按如下所示更改该行,代码将起作用:

while (<MYFILE>) {