みなさん、なにもインストールしないで、PerlでXMLのDomが利用できたのかなあ?
なんか、そー言うこと書いてないで、いきなりXML::DOMの使い方から始まっているサイトを立て続けに見かけたんで、おお、すぐできるのかな?と思ってやってみたら、案の定エラーになった。
ウィリアムのいたずらの場合、以下のことをやって、PerlでXMLが利用できるようになりました。
ちなみに、Perlは、ActivePerl v5.8.4です。Windows XPで動かしてます。
(ActivePerlは正常にインストール済みとします)
1.CPANで、以下のモジュールをとってきました。
XML::DOM
http://search.cpan.org/~tjmather/XML-DOM-1.44/lib/XML/DOM.pm
XML::RegExp
http://search.cpan.org/~tjmather/XML-RegExp-0.03/lib/XML/RegExp.pm
なお、後述しますが、XML::Parserは、入っていましたが、もし、なかったとしたら、
ここ http://search.cpan.org/~msergeant/XML-Parser-2.34/Parser.pm
にあります。
それぞれの右上にDownload::と書いたところがあり、その先にダウンロードファイル名が書いてあって、アンカーになっているので、そこをクリックして、ダウンロードします。
2.上記で落としてきたファイルを解凍します。
で、ここで、Makefile.PLを実行すべきなのかどうかは??
(Domのほうはやったけど、RegExpはめんどーくさくて、やんなくっても動いた^^;)
3.ローカルにActivePerlのライブラリがおいてあるところを開きます
ウィリアムのいたずらの場合は、
C:¥Perl¥site¥lib、そこにXMLってフォルダがなかったらつくる。
ウィリアムのいたずらの場合はあったので、そのXMLというフォルダを開いた。
4.2で解凍してできたフォルダをどんどん開いていく。
Domのほうは、XML-DOM-1.44というフォルダの下にlibがあって、その下にXMLがある
で、さらにその下に、DomとHandlerというフォルダとDOM.pmってのがある。
これを、3のC:¥Perl¥site¥lib¥xmlの下に入れる
(つまり、コピー元のXMLフォルダの下を、コピー先のXMLフォルダの下に入れる)
RegExpのほうは、XML-RegExp-0.03というフォルダの下にlibがあって、その下にXMLがある
で、さらにその下に、RegExp.pmってのがある。
これを、3のC:¥Perl¥site¥lib¥xmlの下に入れる
(つまり、コピー元のXMLフォルダの下を、コピー先のXMLフォルダの下に入れる)
Parserに関しては、ウィリアムのいたずらの場合は、すでに入っていた
なので、何もしなかったが、もしなかったら、同様のことをするはず。
5.テストプログラムを動かす。
以下のプログラムをファイルに書いて、test.plという名前で保存
use XML::DOM; $xml="<test/>"; $parser = new XML::DOM::Parser; $doc = $parser->parse ($xml); print $doc->getFirstChild->getTagName, "¥n"; |
(ただし、< > ¥ は、半角に置換してから保存。空白も半角)
そして、実行する
perl test.pl
(もちろん、test.plがカレントパスになければ、test.plまでのパスを書く)
うまくいっていれば、testと表示される。
ちゃんとインストールされてないと、エラーがいっぱい出て、何が入ってないか教えてくれる。
ここまでで、インストール完了。