勉強でruby言語を使用して、webスクレイピングに挑戦しております。

googleから検索を行い、以下の様なCSVファイルを作成するイメージです。

★CSV出力イメージ(※左から「タイトル」,「URL」,「文面」)

google,www.google.co.jp,世界中のあらゆる情報を検索するためのツールを提供しています。

eachを使用して出力ファイルを作成して、
別のプログラムから3個のファイルを1つのファイルに結合しようとしました。
そうすると3個のファイルの検索順序があっていないことがわかりました。

【出力結果のイメージ】

■タイトル.txt

タイトル1:a
タイトル2:b
タイトル3:c

■URL.txt

URL1:a
URL3:c
URL2:b

■文面.txt

文面1:a
文面2:b
文面3:c

そこで、検索結果を1個の出力ファイルに集約しようとしたのですが、
下記ソースで実行した結果こうなってしまいました。

【出力結果のイメージ】

■まとめ.txt

タイトル1:a
タイトル2:b
タイトル3:c
URL1:a
URL2:b
URL3:c
文面1:a
文面2:b
文面3:c

完成系としては、以下の様にしたいと思ってます。

■まとめ完成系.txt

タイトル1:a,URL1:a,文面1:a
タイトル2:b,URL2:b,文面2:b
タイトル3:c,URL3:c,文面3:c

いくらやってもうまくいかないので、ご質問させていただきました。
初心者的な質問で恐縮ですが、どなたかアドバイスをいただけないでしょうか?

作成したソースを記載いたします。
ご教示の程、よろしくお願いいたします
※rubyのバージョンは2.1.5p273です。

★ソース

rec = 'https://www.google.com/search?q=google&oe=utf-8&hl=ja'
count = 0
ST = "&start="

#ファイルクリア
File.open("/src/out/all","w")

#検索処理
for i in 1..2

        #String型に変換して結合
        search = rec.to_s + ST.to_s + count.to_s

        #google検索する文字コードを変換
        escaped_url = URI.escape(search)
        count += 10
        doc = Nokogiri::HTML(open(escaped_url))


        #タイトル取得
        doc.xpath('//h3/a').each do |link|
                $cont = []
                $cont.push
                $cont.push(link.content)
                $stdout = File.open("/src/out/all","a")
                puts $cont[0]
                $stdout = STDOUT
        end

        #URLの取得
        doc.xpath('//div[1]/cite').each do |url|
                $ul = []
                $ul.push
                $ul.push(url.content)
                $stdout = File.open("/src/out/all","a")
                puts $ul[0]
                $stdout = STDOUT
        end

        #文章の取得
        doc.xpath('//div/span').each do |link|
                $body= []
                $body.push(link.content)
                $stdout = File.open("/src/out/all","a")
                puts $body[0]
                $stdout = STDOUT
        end

end

以上 よろしくお願いいたします。