変数$?とtexpdf.rb

texpdf.rbは、pLaTeX→PDF変換をするバッチファイル的なスクリプトRubyで書いたものです。
目次生成のためにplatexを二回走らせるのですが、何らかのエラーが起こってplatexのXコマンドで終了したときにはtexpdf.rbを中断するように修正しました。
ri systemで調べ、変数$?を利用することにしました。
課題:FileUtilsではなくPathnameを使ってシンプルに書き直す。

require "fileutils"

if ARGV.length == 0
  puts "Usage: texpdf.rb filename[.tex]"
  exit
end

from = ARGV[0].gsub(/\.tex$/, "")

tmp = ENV["TMP"] # '\\tmp'
time = Time.now.to_i
to = "#{from}_#{time}"
to_tex = "#{to}.tex"
to_dvi = "#{to}.dvi"
to_pdf = "#{to}.pdf"

FileUtils.cp("#{from}.tex", "#{tmp}\\#{to_tex}")

Dir.chdir(tmp)
system("platex #{to_tex}")
if $? != 0
  exit
end
system("platex #{to_tex}")
if $? != 0
  exit
end
unless File.exist?(to_dvi)
  puts "#{to_dvi} is not found."
  exit
end
system("dvipdfm #{to_dvi}")
unless File.exist?(to_pdf)
  puts "#{to_pdf} is not found."
  exit
end
system("start #{to_pdf}")