Thread XML::Simple Problem (in Hash fehlt Root-Element) (8 answers)
Opened by FlorianL at 2012-03-06 14:54

Gast FlorianL
 2012-03-06 14:54
#156651 #156651
hi!

ich habe eine xml datei mit folgendem inhalt:

Code: (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
<?xml version='1.0'?>
<config>
<system>
<daemon>1</daemon>
<webserver>1</webserver>
<admin>m1ndfuck</admin>
<adminpass>test</adminpass>
</system>
<network>
<device1>wlan0</device1>
<device1mac></device1mac>
<device2>eth1</device2>
<device2mac></device2mac>
</network>
<scan>
<channel>6</channel>
</scan>
<attack>
<spoof>1</spoof>
<spoofmac></spoofmac>
</attack>
<logging>
<uselog>1</uselog>
<loglocation>aircracker.log</loglocation>
</logging>
</config>


und versuche einen wert auszulesen:

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
use XML::Simple;
use Data::Dumper;
my $cfg = XMLin('aircracker.conf');

sub getcfg {
        my $value = shift;
        if ($value eq 'daemon') {
                return $cfg->{config}{system}{daemon};
        }
}
print Dumper($cfg);
print getcfg('daemon');


bekomme aber diese meldung:
Code: (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
$VAR1 = {
'logging' => {
'uselog' => '1',
'loglocation' => 'aircracker.log'
},
'network' => {
'device2mac' => {},
'device1' => 'wlan0',
'device1mac' => {},
'device2' => 'eth1'
},
'scan' => {
'channel' => '6'
},
'system' => {
'admin' => 'm1ndfuck',
'adminpass' => 'test',
'daemon' => '1',
'webserver' => '1'
},
'attack' => {
'spoofmac' => {},
'spoof' => '1'
}
};
Use of uninitialized value in print at ./aircracker.pl line 15.


(line 15 ist die print getcfg()-sub)

sieht jemand was ich nicht sehe oder mach ichs grundlegend falsch?

modedit Editiert von pq: code-tags

modedit Editiert von GwenDragon: Titel ergänzt
Last edited: 2012-03-06 17:12:38 +0100 (CET)

View full thread XML::Simple Problem (in Hash fehlt Root-Element)