在07-4-17,<b class="gmail_sendername">Zhu Zhu</b> &lt;<a href="mailto:zhuzhu@perlchina.org">zhuzhu@perlchina.org</a>&gt; 写道:<div><span class="gmail_quote"></span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
没有遇到过,我只遇到过 1G - 2G 的日志处理,不过我不知道怎么才能合理读取这么<br>大的文件,<br>要求是从日志文件中每天提取前一天的记录。到每个月 20号的时候就用差不多2G了,<br>请问<br>对于这种大日志文件我该怎么做呢?</blockquote><div><br>logrotate <br></div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
在 Tue, 17 Apr 2007 15:07:19 +0800,Achilles Xu &lt;<a href="mailto:formalin14@gmail.com">formalin14@gmail.com</a>&gt; 写<br>道:<br><br>&gt; perl中处理中文的原则:<br>&gt;<br>&gt; 让中文字符串在perl中以utf8的形式存在。一个字符串进来的时候如果是其他编<br>&gt; 码,先转成utf8,出去的时候再转成相应的编码。这样可以保证任何操作都不出
<br>&gt; 错。<br>&gt;<br><br></blockquote></div><br clear="all">很对,如果只是单纯copy或者move这样的整块stream,不考虑编码一般没问题。<br>但要process,比如现在要分析html结构,就另当别论了。<br>process通常需要识别一定的token,比如html中的&#39;&lt;&#39; &#39;&gt;&#39;。<br>宽字节的编码都会把非asc部分编码为两个或以上字节,如果你把这些编码后的字节串
<br>直接看作asc,(这是你perl里将为出现的情况),那某个宽字符编码出来的某个byte可<br>能恰好就是&#39;&lt;&#39;或者&#39;&gt;&#39;,这是导致混乱的原因,如果像libXML这样的非容错解析,会<br>马上报错,碰上可容错的,一般会把到此为止的部分return回去。<br>这是转为utf8的真正原因,因为perl里unicode编码就是utf8。<br>-- <br>cheers,<br>-dongxu
<br>__END__<br><a href="http://search.cpan.org/~dongxu">http://search.cpan.org/~dongxu</a>