あのsixamoをWindowsベースのWebサーバ上で動かしたい2

Rubyを知るためにオンラインのリファレンスを少しずつ読んでおりますよ。
私が慣れ親しんできた言語類とはちょっと毛色が違うので、ほとんど分かってません。無論、プログラム言語なんて目的は基本的に一緒(CPU上でバイナリを走らせる)なわけで、脳内の既存言語との摺り合わせができれば理解も進むだろうと期待しております。クラス、メソッド、モジュール、例外、スレッド・・・。出てくる言葉は聞き覚えのあるものばかりなんですけどね〜w
と、文字コードを変更したソース内を散歩していたんですが、気になる箇所をハッケン。

$KCODE = 'e'

$KCODEにいきなり意味深な1文字を放り込んでますが、ソースの中のここ以外に$KCODEが出てこないんですね。つまり$KCODEはシステム・環境変数の類っぽい。KのCODE、つまり2バイト文字の取扱関係の設定の可能性が。
早速リファレンスを見る。速攻で発見
あー、まさにここっぽいな、ということで、とりあえず

$KCODE = 'SJIS'

と変更。sixamo.rbを走らせてみる。
走った・・・ちゃんと会話してる・・・。うほw
が、気になる警告が出ているのに気付く。

C:/sixamo/sixamo.rb:676: warning: character class has `[' without escape
C:/sixamo/sixamo.rb:676: warning: character class has `[' without escape

676行を見ると正規表現で何かしている。何をしているのかはまだ分かってない。この部分には5回 [ という記号が出てくるが、警告は2回しか出ない。つまり単純に文字コード云々のような問題じゃなくて記述上の問題が文字コードの変換(もしくはRuby本体のバージョンの違い?)で表面化したのかもしれない。
同エラーメッセージで検索すると、これに遭遇。正規表現中の [ - ] の3文字がエスケープされていないと「警告」を出すというもの。「エラー」じゃなくて「警告」ってのがね・・・。警告出る状態でも動くことは動くというのが気持ち悪い。
文法やルールが分からないから、ここは力業(試行錯誤)で突破することに。
場所を特定するため、676行を区切り文字の前後で複数行に分解。

regexp = /([!-~])
[!-~]*|
([ァ-ヴ])
[ァ-ヴー]*|
([^ー\0])/i

どうも最後の「([^ー\0])/i」から2回警告が出ているんですが・・・[ はどう見ても1つしか。とりあえず [ を \[ に訂正してみると、2回出ていた警告が1回になった。
でもこれ以上いじっても逆に警告やエラーが増えてしまう。どうすればええんぢゃー!

正規表現が合理的な記述方法なのはよく分かってるんですが、合理的すぎるというか、人間が読み書きしたり脳内で理解する「言語」として体系から乖離しているせいか、どうも受け付けないんですよ・・・。
とりあえず、$KCODEの修正で「動く」状態になって警告1回減らしたところまでは前進したと考えて、リファレンスとsixamoソースでお勉強して出直してきます。

理解しがたいツンなお嬢様のちょっと意外な面を見つけたのでイジってみたら、急にフラグが立ってラッキー!でもまだフラグが足りなくて次のステップに進めない!みたいなジリジリ感が(ry