加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

刷新线读操作符Perl

发布时间:2020-12-16 06:09:02 所属栏目:大数据 来源:网络整理
导读:用到达eof后会发生什么perl中的运算符? 我正在逐行阅读INP1 while(INP1) {} 但我需要多次读取这个,我需要每次从文件的开头开始.我怎样才能做到这一点?是否有像在perl中刷新流的东西? 提前致谢. 解决方法 如果INP1连接到常规文件句柄(不是套接字句柄或管道
用<>到达eof后会发生什么perl中的运算符?

我正在逐行阅读INP1

while(<INP1>) {
}

但我需要多次读取这个,我需要每次从文件的开头开始.我怎样才能做到这一点?是否有像在perl中刷新流的东西?

提前致谢.

解决方法

如果INP1连接到常规文件句柄(不是套接字句柄或管道句柄),则还可以将 seek返回到文件的开头.

while(<INP1>) {
   ...
}
seek INP1,0;

# do it again
while (<INP1>) {
   ...
}

另一种选择是将整个文件加载到一个数组中,然后根据需要循环遍历该数组.如果整个文件适合内存并且文件内容在遍历之间不会改变,那么这是一个好主意.

open INP1,'<',$the_file;
@INP1 = <INP1>;
close INP1;

foreach (@INP1) {
   ...
}

# do it again
foreach (@INP1) {
   ...
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读