まつもと ゆきひろです

In message "[ruby-dev:23823] regexp with implicit $_"
    on 04/06/28, 池田 孝志 <ikeda_ta / kcn.ne.jp> writes:

|正規表現で暗黙の $_ 内の文字列を検索して、$&, $1 などに
|マッチした結果が入っていないように見えるのですが、こちらは仕様でしょうか?

はい。1.8からは正規表現リテラルはifなどの条件部の直下にある
時だけ$_とのマッチが行われます。ですから、

|% echo abc | ruby-1.6 -ne '/(a)/ and puts($&)'

ではマッチは行われません。ので、$&はnilのままです。