Thread XML::Simple (2 answers)
Opened by davix at 2012-04-04 12:32

davix
 2012-04-04 12:32
#157235 #157235
User since
2012-04-03
4 Artikel
BenutzerIn
[default_avatar]
Hallo Leute,
da ich komplett neu in Perl bin, habe ich eine Frage zu dem folgenden Quellcode:

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#!/usr/bin/perl -w

 use Parse::DMIDecode qw();
 use Data::Dumper;
 use XML::Simple;
 use warnings;


 my $decoder = Parse::DMIDecode->new(nowarnings => 1);
 $decoder->probe;

 my $xml = new XML::Simple;
 my %xml_hash;
 
 for my $handle ($decoder->get_handles) {

        $xml_hash{$handle->handle}{"dmitype"} = $handle->dmitype;
        $xml_hash{$handle->handle}{"bytes"} = $handle->bytes;
        $xml_hash{$handle->handle}{"description"} = $handle->description;

     for my $keyword ($handle->keywords) {
         my $value = $handle->keyword($keyword);


        printf("   Keyword \"%s\" => \"%s\"\n",
                 $keyword,
                 (ref($value) eq 'ARRAY' ?
                     join(', ',@{$value}) : ($value||''))
             );


        $xml_hash{$handle->handle}{"keywords"}{$keyword} = (ref($value) eq 'ARRAY' ? join(', ',@{$value}) : ($value||''));

     }
 }


#print Dumper(%xml_hash);


my $xml_out = $xml->XMLout(%xml_hash,NoAttr => 1,RootName => 'dmidecode',);

print $xml_out;



Beim ausführen erhalte die folgende Fehlermeldung:
Options must be name=>value pairs (odd number supplied) at dmi-2.2.pl line 41

Was ist da falsch? Irgendwie verstehe ich noch nicht wirklich Array zu Hashes etc. ^^ Irgwendwelche Tipps / Lösungen?

Vielen Dank im Voraus!

Grüße
davix
Last edited: 2012-04-04 12:34:18 +0200 (CEST)

View full thread XML::Simple