式展開をいつでもやりたいときは、どうするのかな?

変数がcsvファイルにあって、計算式も別のファイルにあるとき、どうやって計算させようかな。

data.csv

1000,2000,500
40,50,30

calc.txt

x + y * 2 - z

プログラム

#!/usr/local/bin/ruby
require 'rubygems' # gemでfastercsvを導入したとき
require 'fastercsv'

calc = open("calc.txt").read

FasterCSV.foreach("data.csv") do |line|
  puts eval( calc.gsub(/x/, line[0]).gsub(/y/, line[1]).gsub(/z/, line[2]))
# ↑ putsがなければ表示しないか  
end


スクレイピングばっかりやっていたので、スクレイピング的にやる方法しか思いつかないんだけれど、もっと正攻法のやり方はないかなぁ。