XMLをperlで処理する質問はこの板でいいですか?
perl5.6でXMLにチャレンジしてみようと思って、

#!/usr/bin/perl

use strict;
use Jcode;
use XML::Parser;

my $topic;
while($line = <STDIN>)
{
   $topic .= $line;
}
my $xml = new XML::Parser(Style => 'Debug',ProtocolEncoding=>'x-euc-jp-unicode');
my $result =$xml->parse($topic);

こんな感じでXML文書を読み込ませてみたら、途中で、
Substitution loop at /usr/lib/perl5/site_perl/5.6.1/i386-linux-thread-multi/XML/
Parser.pm line 346, <STDIN> line 75.
こんなエラーが出ます。エラーの出る行には日本語が入っています。

日本語非対応かなと思っていろいろ試してみると、たとえば「◇」のような文字が
含まれているとだめだったりするようです。(だめなのはこれだけではなさそう)

やりたいのは、perlで日本語のXML文書を読み込むことです。
その読み込みの時点ではまってしまうので困っています。

別に文字コードがeucである必要はないし、モジュールもXML::Parserを使うことにこだわりないです。
この辺のことを処理するにはどうすればいいでしょうか?