在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
工作需要用perl写了一个脚本读取1G多的文件,直接报out of memory,对perl不是很熟悉就上网查了资料,后来发现是因为写的读取文件内容时直接将所有文件内容读入数组导致这个问题。
1 open(FILE_IN,"<xxx.txt>"); 2 foreach $perIns(<FILE_IN>) 3 { 4 #done 5 }
这里将1G多的文件都写到了一个临时的数组中了,只要需要改写一下读取文件的方式,读一行处理一行。
1 open(FILE_IN,"<xxx.txt>"); 2 while(defined($perIns = <FILE_IN>)) 3 { 4 #done 5 }
|
请发表评论