大きなテキストファイルを処理

テキストファイルの処理を

File.open("hoge.csv","r").each{|row|
	row.gsub!(/\s+/,",")
	result << "\n"
}
result = File.open("piyo.csv","w")
result.close

って感じでスクリプトを書いたらメモリに納まらなくなった.File.openで1行ずつよみこんで,1行ずつ結果を格納していくためっぽい.
なので,

result = File.open("piyo.csv","w")
File.open("hoge.csv","r").each{|row|
	row.gsub!(/\s+/,",")
	result << "\n"
}
result.close

という風に書くと解決.Stataではあまりメモリに気を使わないのでハード関係の処理方法はよくわからない.