Rubyバージョン1.8.1でCGIライブラリに非互換な変更があり、本書のサンプルプログラムでエラーになる箇所があることが判明しました。1.8.0では、CGI#[]の戻り値はStringの派生クラスであるCGI::QueryExtension::Valueのインスタンスでした。1.8.1でStringの派生クラスではなくなりました。CGI#[]の戻り値が文字列(Stringインスタンス)であることを期待している部分で、軒並みエラーが発生したりします。この変更は正しい理解から行われたとは思えません。1.6との差異も含めて修正を加えています。1.8.2を使いましたが、HTMLの解釈などでバグが多く、回避策を講じなければならない場面があります。1.0.2に以下のパッチを当てることで、より安定した環境にすることができます。1.8.2に動作を合わせる以外、既存のプログラムに対する副作用はありません。