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

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

download:lib-perl-xml-dumper_0.81-1_arm.ipk

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

use XML::Dumper;

%hash = (
    hoge => {
        post => "111-1111",
        addr => "Hoge city",
        tel => "011-1111-1111"
    },
    huge => {
        post => "222-2222",
        addr => "Huge town",
        tel => "022-2222-2222",
        childs => [
            "huge daughter",
            "huge son",
        ],
    },
);

$dump = new XML::Dumper;
$xml = $dump->pl2xml(\%hash);
print "$xml\n";
$hashp = $dump->xml2pl($xml);
&print_xml("perldata", $hashp, "");

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::Dumperの詳細は以下をご覧頂きたい。

英語:http://search.cpan.org/~mikewong/XML-Dumper-0.81/Dumper.pm