+ -
当前位置:首页 → 问答吧 → foreach和<FH>读文件

foreach和<FH>读文件

时间:2010-08-03

来源:互联网

今天错误的使用了foreach来读文件。
foreach $line (<$fh>){
    if(...){
        last;
    }
    ...
}
foreach $line (<$fh>){
    ...
}
本想第一个foreach读到一个条件的时候退出进入第二个foreach处理。
结果第二个foreach什么也没有读到。用tell($fh)发现一进入第一个foreach文件句柄就到了文件末尾,所以第二个foreach什么也读不到了。
foreach在这里需要一个列表,所以<$fh>就把整个文件给读了进来,自然文件句柄就到了文件末尾。

作者: yecheng_110   发布时间: 2010-08-03

这就是 foreach 和 while 的区别。

作者: flw   发布时间: 2010-08-03

用while不就好了·

作者: wfnh   发布时间: 2010-08-03