作者: 藤岡和夫
日時: 2006/4/28(22:53)
On Fri, 28 Apr 2006 12:39:37 +0900 (JST)
kbk@... (Bruce.) さんwrote:

> ふむ。Perlはレコードセパレータに正規表現を使うことができませんから、
> 対応するならば一気読みをしなければならないですよね。
> まあイマドキの環境ならば少々大きなファイルでも一気読みしても
> 大丈夫でしょうけれど。

 LWPのget関数で取り込んだRSSを処理するような場合、split関数で行に分けて
処理するとかは有り得るんですけど、僕の場合は、改行を全部削除してしまうの
に使っていますね。その場合、Windows、Unix、Macと三種のテキストファイルを
想定する必要があります。Webには、Macのファイル(改行が\r)は1%程度だけど存
在していて、最初、どうにもスクリプトがうまく動かないので、しばらくあれこ
れ試行錯誤しました。Macのファイルも有り得るなと思ったらずばりでした。ね
こ丸さんの話もそういう関係だと思いますね。

> ところで、splitの引数なんですけど、\r\n|[\r\n] (順番が逆)にしないと
> 誤動作するような気がするんですが気のせい?

 これは、よくわからないけど。僕が使っているのはもっとラフで

[ \t]*[\r\n]+[ \t]*

で、改行とついでに前後の空白文字を削除しています。

藤岡 和夫
kazuf@...
TS Networkのために http://homepage1.nifty.com/kazuf/