RubyでCGIスクリプトを作る下準備・訪問者の環境変数を取得

作っておけば役に立ちそう。
これでグローバル変数に値がセットされる。
Perlだともう少し簡単になるのにRubyだと少々ややこしい。

def getenv
  $host = ENV['REMOTE_HOST']
  $addr = ENV['REMOTE_ADDR']
  $ua   = ENV['HTTP_USER_AGENT']
  $ref  = ENV['HTTP_REFERER']

  # デバッグ用
  #$addr = "127.0.0.1"
  #$host = "127.0.0.1"

  if $host == nil || $host == $addr
    require "socket"
    $addr =~ /([0-9]+)\.([0-9]+)\.([0-9]+)\.([0-9]+)/
    $host = Socket.gethostbyaddr([$1.to_i, $2.to_i, $3.to_i, $4.to_i].pack("C4"), Socket::AF_INET)[0]
  end
end