xmlパースしてからだと、うまくマッチできない

よくあるサービスのAPIを利用して、xmlをパースして文字列を取得したの後、正規表現を使ってマッチを行ったが、うまくマッチしてくれなかったので、ちょっとググってました。

調べるとxmlパーサーなどで解析した場合、utf8フラグが立つようで、これが原因でマッチがうまくいかなくなっているようでした。

そこでutf8フラグを除去するとうまくマッチするようになりました。

utf8フラグを除去する場合

utf8::encode($text);

utf8フラグを立てる場合

utf8::decode($text);

参考にさせていただいた記事 感謝〜

[>Perl 5.8 以降においての Unicode 文字列の扱い方