作者: 藤岡和夫
日時: 2002/7/07(21:04)
On Sun, 07 Jul 2002 16:55:38 +0900
WATANABE Hirofumi <eban@...> さんwrote:

> なんか勘違いがあるようです。binmodeは
>   入出力時に改行コードを変換しない
>   \czをEOFとみなさない
> というモードに移行するだけです。
> つまりUNIX上でDOSのテキストファイルを処理するのと全く同じです。
> ですからふつうのテキストファイルも同じように処理できます。
> これはCR+LFとLFのどちらもLFが最後にあるから可能とも言えます。
> DOSがLF+CRとか選んでいたらちょっと面倒だった。
> 
> 改行コードの変換が入らないためCRの処理は必要になりますが、こ
> れは邪魔ならtr/\r//dで消すとか、出力時に必要になり足すくらい
> ならCRはそのままで処理するとか、ま、その程度です。

 binmodeで読み込む場合には、閑舎さんが書かれたようなスクリプトが頭に浮
かんでしまうのですが(255バイトずつ読むか、1024バイトずつ読むかは別にして、
binmodeのスクリプト例には必ず書いてあるので)、テキストファイルを一行ずつ
読み込むという動作は変わらないのでしょうか。要は改行で区切ってあるものを
行と呼ぶわけですけど。

 binmodeの場合、

while(<>){

で読んだ場合全体を一度に読んでしまうのではと思ったのですが、、、、

試してみたことはないですけど(^^;)

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