2010年8月30日月曜日

XML::Parserが動かない問題でハマる

PerlでXMLをあつかう場合、XML::Simpleを仲介者としてXML::Parserを利用していた。しかしサーバーによってはXML::Parserがインストールされていない&インストールできないので、エラーになってしまう。

  # xmlを読み込む
  $XML::Simple::PREFERRED_PARSER = 'XML::Parser';  # この行をコメントアウトすると動いたが、UTF8フラグ関係の動きが変わってしまって文字化け。具体的にどのモジュールがParseを行っているのか不明なのでどこをどうすればいいのやら(プロファイルをとればわかるだろう)
  my $xmlobj = XMLin($res->content);

しかたなく binmode STDOUT, ":utf8"; を取ったら日本語も化けなくなった(今のところ謎)。

0 件のコメント:

コメントを投稿