Perl - CPAN - XML::Bareパッケージ

ここに掲載するものは、塚本さんにパッケージ化して頂いているZaurus用Perl 5.6.1に追加でインストールするPerlライブラリのXML::Bareである。
ソースはここからダウンロードし、dev-img-1.3でセルフコンパイルした。

download:lib-perl-xml-bare_0.27-1_arm.ipk

手始めの使い方は以下の通りである。

use XML::Bare;

$html =<<__XML__;
<html>
    <head>
        <title>hello world</title>
    </head>
    <body>
        <p>Dear our friends.</p>
        <p>This is the greeting page.</p>
        <p>Regards.</p>
    </body>
</html>
__XML__

$xml = new XML::Bare(text => $html);
print_xml("root", $xml->parse(), "");

sub print_xml
{
    my ($name, $val, $indent) = @_;
    if (ref($val) eq "HASH") {
        print "$indent$name\n";
        $indent .= "  ";
        foreach my $key (keys(%$val)) {
            print_xml($key, $val->{$key}, $indent);
        }
    } elsif (ref($val) eq "ARRAY") {
        print "$indent$name\n";
        $indent .= "  ";
        for (my $i = 0; $i <= $#$val; $i++) {
            print_xml("[$i]", $val->[$i], $indent);
        }
    } else {
        print "$indent$name = \"$val\"\n";
    }
}


XML::Bareは以下のような要素の内容に記述された要素を扱うことができないので注意して欲しい。

<p>
    Hello, how are you ?<br />
    I'm fine.
</p>


XML::Bareの詳細は以下をご覧頂きたい。

英語:http://search.cpan.org/~codechild/XML-Bare-0.27/Bare.pm