>>660
text = ''; open('foo.txt', 'rb'){|f|text = f.read}
みたいに全部読み込んじゃってからString#で処理するんじゃダメか?