>>63
あーっ、分かりました。
とんでもない勘違いしてました。空白文字を含むのは$strではなく、パターンの方ですね。
どうもこういう勘違い多いな自分・・・
これで納得できました。どうも有難うございます。
?: については、本調べてたら載ってました。前方一致、ってことですね。
perl5に追加された拡張構文であり、拡張正規表現の x修飾詞とは別に関係ない。
まぎらわしいけど、何とか覚えました。

これで何とか出来そうです。
・・・なんですが、おまけで書いて頂いた「/xを外したかったら」を実行してみたところ挙動が変です。
何度もすみませんが、こういうのどうしても気になる性質で・・・

$str = "ファイア@炎";
$str = /^((?:\x81[\x40-\x7e\x80-\x96\x98-\xfc]|[\x82-\x9f\xe0-\xef][\x40-\x7e\x80-\xfc]|[\x20-\x3f\x41-\x7e])*)/;
print $str;# マッチング判定結果表示
$str = "$1 $2 $3 $_";
print $str;

実行結果:
1

------------------------
マッチングは上手く出来てるようなんですが、その文字列がどこに格納されたのかが分からないんです。
$1 に入ってなかったので、それっぽい変数を色々乗せてみましたが全く当たりません。
いったい、どこに行ったのでしょうか・・・?