> 能说下原因吗?谢谢
>
> 2009/6/30 <redicaps@gmail.com>
>
>> 少用 foreach (<FH>)这种写法
foreach (<FH>) { ... }
等价于:
@lines = <FH>;
foreach (@lines) { ... }
即先一口气把文件中的每一行都读到内存里来(即 @lines 数组里),再一行一行地处理。这种方式对于较大的文件,内存使用效率是很低的。我们多这么写:
while (<FH>) { ... }
其实就是
while (my $line = <FH>) { ... }
读一行,处理一行,扔一行,然后再读下一行。。。如此这般,内存使用效率很高 :)
>> 用while
*nod*
Cheers,
-agentzh
--~--~---------~--~----~------------~-------~--~----~
您收到此信息是由于您订阅了 Google 论坛"PerlChina Mongers 讨论组"论坛。
要在此论坛发帖,请发电子邮件到 perlchina@googlegroups.com
要退订此论坛,请发邮件至 perlchina+unsubscribe@googlegroups.com
更多选项,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问该论坛
-~----------~----~----~----~------~----~------~--~---
没有评论:
发表评论