今日はクッキーとクリプトとリンク部分
str.gsub(/([^=^\"]|^)(https?\:[\w\.\~\-\/\?\&\=\@\;\#\:\%]+)/,"\\1\\2")
の$1を\\1にしなきゃいけないのはググって発見したけど理由は分かりませんでした。

#-------------------------------------------------
#  クッキー発行
#-------------------------------------------------
def set_cookie(nam,eml,url,pwd)
  t = Time.now + 60*24*60*60
  m = ['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec']
  w = ['Sun','Mon','Tue','Wed','Thu','Fri','Sat']
  gmt = sprintf("%s, %02d-%s-%04d %02d:%02d:%02d GMT", w[t.wday], t.day, m[t.month - 1], t.year, t.hour, t.min, t.sec)
  cook = "#{nam}<>#{eml}<>#{url}<>#{pwd}"
  cook = cook.gsub(/([^ a-zA-Z0-9_.-]+)/n) do
    '%' + $1.unpack('H2' * $1.size).join('%').upcase
  end.tr(' ', '+')
  print "Set-Cookie: ASKA_BBS=#{cook}; expires=#{gmt}\n";
end

#-------------------------------------------------
#  クッキー取得
#-------------------------------------------------
def get_cookie
  cook = ENV['HTTP_COOKIE']
  ck = Hash.new
  cook.split(/;/).each {|l|
    (key,val) = l.split(/=/)
    key.gsub!(/\s/,'')
    ck[key] = val
  }
  ck['ASKA_BBS'] = ck['ASKA_BBS'].tr('+', ' ').gsub(/((?:%[0-9a-fA-F]{2})+)/n) do
    [$1.delete('%')].pack('H*')
  end
  return ck['ASKA_BBS'].split(/<>/)
end

#-------------------------------------------------
#  crypt暗号
#-------------------------------------------------
def encrypt(str)
  salt = [rand(64),rand(64)].pack("C*").tr("\x00-\x3f","A-Za-z0-9./")
  str.crypt(salt)
end

#-------------------------------------------------
#  crypt照合
#-------------------------------------------------
def decrypt(inp, pwd)
  if inp.crypt(pwd) == pwd
    return 1
  else
    return 0
  end
end

#-------------------------------------------------
#  自動リンク
#-------------------------------------------------
def auto_link(str)
  str.gsub(/([^=^\"]|^)(https?\:[\w\.\~\-\/\?\&\=\@\;\#\:\%]+)/,"\\1<a href=\"\\2\" target=\"_blank\">\\2</a>")
end

変更

def get_cookie
cook = ENV['HTTP_COOKIE']
cook = ';' unless cook
ck = Hash.new("")

クッキー部分は上記のようにしないと
初めてアクセスしてクッキーが記録されてないとエラーになります。
Perlだとエラーが出ないのにRubyではnilという概念でエラーが出る場面が多いです。
これって不便に感じるんですが何か役に立つのかな?

とりあえず動くようになったのでリンク
http://apollorec.main.jp/aska/aska.cgi
http://apollorec.main.jp/aska/aska.txt
さて、これをRubyらしくしてみせますw
(といってもどうすりゃいいのかわからないので、助言をお願いします。)