mo
[E-Mail]
1999/03/11(木) 22:10:31
恐らく、「ー」が sjis であるため、
/ー/
は
/\201]/
と解釈されているのでしょう。開き括弧のない 「]」が出現しているのが
原因であると考えられます。
「ー」でエラーとなるなら「(」のような不釣合の括弧を入力してもエラー
になるのかな?
\Q, \E 使って特殊記号をエスケープするか、あるいは EUC
に変換して比較するか。
なお、日本語で検索を行なう場合、2 バイト文字の境界を
ちゃんと識別しなければ、存在しない文字にマッチしてしまいます。
たとえば、EUC コードで、
$word = 'い';
$text = '阿あ';
if($text =~ /$word/) { print "True\n"; }
というパターンなど。