助田です.
In [ruby-dev:6856] Re: Ruby 1.3.3-990513

>>木村さんや助田さんのところでは、このバージョンのtest.rb
>>はOKなんでしょうか?

>すいません.まだコンパイルはおろか,展開すらしてません.m(_ _)m
miniruby だけコンパイルしました.
環境は,Windows 95 + VC++5.0 です.

テストしたところ,こちらでも失敗しました.
何のシェルも動かしていないただの MS-DOS プロンプト上でテストしました. 

>>./miniruby -i.bak -pe 'sub(/^[0-9]+$/){$&.to_i * 5}' script_tmp
>h:\TEMPOR~1/rba00298:1: unterminated string meets end of file
>指定した名前は、内部コマンドまたは外部コマンド、
>操作可能なプログラムまたはバッチ ファイルとして認識されません。
このエラーを同時に出す方法はわからないのですが

.\miniruby -i.bak -pe 'sub(/^[0-9]+$/){$&.to_i *5} script_tmp
とやると(後ろの'の付け忘れ)
C:\WINDOWS\TEMP/rba68551:1: unterminated string meets end of file
となります.

./miniruby -i.bak -pe 'sub(/^[0-9]+$/){$&.to_i * 5}' script_tmp
とやると
コマンドまたはファイル名が違います.
となります.

.\miniruby -i.bak -pe 'sub(/^[0-9]+$/){$&.to_i * 5}' script_tmp
とやると動きますが結果は失敗します.
'' であろうと "" であろうと script_tmp の結果は,5倍されず,"1\r\n" 
と変化するだけです.(小田さんのところと多分同じです.)

test.rb のスクリプトでは /^[0-9]+$/ にマッチしないから失敗する
ようです.

試しに MS-DOS プロンプトから
.\miniruby -ne 'puts $_ if /^[0-9]+$/' script_tmp
.\miniruby -ne 'puts $_ if /^[0-9]+$/ =~ $_.chomp' script_tmp
.\miniruby -ne 'puts $_ if /^[0-9]+$/ =~ $_.chop' script_tmp
とやった場合,上2つは何も表示しませんでした.

木村さんとわたなべさんがおっしゃるように
ファイルオープン時のモード(binmode)か chomp の動きが怪しい
(行末の処理が怪しい)のではないかと思います.
結局昨日は,ここまで(現象の確認)しかできませんでした.
(つまりソースは一切見てません.)
--------------------------------------------
助田雅紀(masaki.suketa / systemplaza.co.jp)
--------------------------------------------