A trap with qr/\Q ... \E/xms

qr/\Q $foo \E/xmsと書いたら思ったものにマッチせずハマった。
しばらく頭を抱えていたが,コマンドラインで出力を見ると原因が分かった。正規表現のx修飾子は正規表現内の空白を無視するように指示するものだが,\Qのほうはxの有無にかかわらず常に空白も含めて処理するようだ。つまり,上記の正規表現の内容は$fooの前後に空白(qr{\ })が置かれるのと同じ結果となっていたのだ。したがってこの場合,正解はqr/\Q$foo\E/xmsである。