>>332
半角全角は気にせず、このどっちかを使って処理する
int getLineBreak(java.lang.String str, int off, int len, int width)
指定した文字列の改行位置を取得します。
int stringWidth(java.lang.String str)
指定した文字列の幅を取得します。

>>333
old_fileの中身は正しいのか?
よく知らんが、perlがバイナリモードじゃなくてテキストモードになってるとか