青山です。

On Wed, 3 Nov 1999 19:11:19 +0900,
Koretsugu Daigoro <tmmcross / hk.airnet.ne.jp> wrote:

> Perl も変えたのでしょうか?
> 
> $ perl -v
> This is perl, version 5.005_57 built for cygwin32
> $ perl p
> :z:b:b:

おや、本当ですね。

$ perl5.004_04               -e '$a = "abc"; $a =~ s/|a/-/g; print $a, "\n";'
-a-b-c-

$ /usr/src/perl5.005_03/perl -e '$a = "abc"; $a =~ s/|a/-/g; print $a, "\n";'
---b-c-

$ /usr/src/perl5.005_03/perl -e '$a = "abc"; $a =~ s/|b/-/g; print $a, "\n";'
-a---c-

空パターンにマッチし、その後でさらに b がマッチしているんですね。カー
ソルが、文字と文字の間だけでなく、文字の上にも来るという感じでしょうか。

"abc"      a の前にカーソルがあり、a の前の空にマッチ。
"-abc"     a の上にカーソルがあり、b の前の空にマッチ。
"-a-bc"    b の上にカーソルがあり、b にマッチ。
"-a--c"    c の前にカーソルがあり、c の前の空にマッチ。
"-a---c"   c の上にカーソルがあり、c の後の空にマッチ。
"-a---c-"

$a = "abc"; $a =~ s/|a/-/g の場合も同じ説明でいけますね。

"abc"      a の前にカーソルがあり、a の前の空にマッチ。
"-abc"     a の上にカーソルがあり、a にマッチ。
"--bc"     b の前にカーソルがあり、b の前の空にマッチ。
"---bc"    b の上にカーソルがあり、c の前の空にマッチ。
"---b-c"   c の上にカーソルがあり、c の後の空にマッチ。
"---b-c-"


-- 
青山 和光 Wakou Aoyama <wakou / fsinet.or.jp>