プロが教える店舗&オフィスのセキュリティ対策術

こんにちは。
XMLファイルを読み込む処理をテストしているのですがlibXMLが動作してくれません。
次の手順でインストール~実行したのですが何がいけないのでしょうか?
どこか問題点がありましたら教えてください。
LibXMLは「/usr/local/lib/perl/5.8.4/auto/XML/LibXML」に見えます。
(perlを始めたばかりなので他に必要な情報がありましたらコメント下さい。)


1.libxml2-2.6.23.tar.gzをインストール
2.CPANでXML::LibXML、関連モジュールをインストール
3.次のコードを実行

#!/usr/local/bin/perl
use XML::LibXML;

my $parser = XML::LibXML->new;
my $xmlfile = $parser->$contents;

print Dumper($xmlfile)."\n";

※$contentsには単純なXMLフォーマットのデータが入っています。

4.エラーが表示される
Can't locate auto/XML/LibXML/<?xml version="1.0" encoding="euc-jp" ?>
:
:(XMLファイルの内容)
:
.al in @INC (@INC contains: perllib /etc/perl /usr/local/lib/perl/5.8.4 /usr/local/share/perl/5.8.4 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.8 /usr/share/perl/5.8 /usr/local/lib/site_perl .) at perllib/testperl.pm line 10

A 回答 (1件)

XML::LibXML は使ってないのだけど


>my $xmlfile = $parser->$contents;
は、
my $xmlfile = $parser->parse_string($contents);
の間違いだと思う
    • good
    • 0
この回答へのお礼

ありがとうございます。
BLUEPIXYさんの仰るとおり「parse_string」が抜けていました。
これでなんとか動作するようになりました。
あとはXML::LibXMLの仕様なのでもう少し調べてみます。

お礼日時:2006/01/14 16:27

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!