こんにちは。ysk6406 です。
皆さん、いろいろ調べて下さってありがとうございます。

結局、$opat = <STDIN>; で $opat の末尾が \r\r\n になるのが原因で、
これは chomp でも取りきれないし、かといって chop を2回実行する
というのも危ないので、私は次のようにしてしまいました。
(もっと良い方法があれば、教えて下さい。)

  ($opat = <STDIN>) =~ s/[\r\n]+//;

ActivePerl の問題が治るまでは、これで凌ごうと思います。

> ysk6406@mail.goo.ne.jp さんが Google からポストしているのが原因だと思わ
> れます。

文字化け、申し訳ありませんでした。
Google からのポストは、英語だし手続きも面倒だし、もう懲り懲りです。
今回は、プロバイダの mnews からポストしました。