Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]7497[/thread]

hashes und array verschachtelt

Leser: 2


<< >> 6 Einträge, 1 Seite
aedu
 2005-11-25 15:46
#60417 #60417
User since
2005-11-25
4 Artikel
BenutzerIn
[default_avatar]
Salü zusammen,

ich möchte ein Conf-File parsen. Hier ein kleiner Auszug:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
#  TAG: coredump_dir
# By default Squid leaves core files in the directory from where
# it was started. If you set 'coredump_dir' to a directory
# that exists, Squid will chdir() to that directory at startup
# and coredump files will be left there.
#
#Default:
# coredump_dir none
#
# Leave coredumps in the first cache dir
coredump_dir /opt/lala/squid/var/cache


Es hat immer einen TAG ($tag), ein oder mehrer Default-Einstellungen ($default) und keine, eine oder mehrere selbst erstellte Einstellungen! ($value)

Ich brauche daraus folgende Werte:
Code: (dl )
1
2
3
$tag = coredump_dir;
$default = none;
$value = /opt/lala/squid/var/cache;


Diese Werte speichere ich jetzt folgendermassen:
Code: (dl )
1
2
$hash {$tag}{"default"}[$default];
$hash {$tag}{"value"}[$value];


Jetzt zu meinem Problem! - Wie kann ich nun dieses Konstrukt aus Array und Hashes wieder ausgeben? Ich schaffe es nur die TAGs auszugeben:
Code: (dl )
1
2
3
foreach $key (keys %hash){
print $key."\n";
}

Kann mir jemand helfen?
Vielen Dank im Voraus!

aedu
sesth
 2005-11-25 16:04
#60418 #60418
User since
2005-02-01
181 Artikel
BenutzerIn
[default_avatar]
Das sollte in etwa so gehen:
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
use strict;

my %hash;
my $tag = 'coredump_dir';
my $default = 'none';
my $value = '/opt/lala/squid/var/cache';

$hash{$tag}{"default"} = [$default];
$hash{$tag}{"value"} = [$value];

foreach my $key (keys %hash){
    print $key . "\t";
    print $hash{$key}{"default"}[0] . "\t";
    print $hash{$key}{"value"}[0] . "\n";
}
Gruß
Thomas
esskar
 2005-11-25 16:32
#60419 #60419
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
Code: (dl )
1
2
3
use Data::Dumper;

Dumper \%hash;
aedu
 2005-11-25 17:27
#60420 #60420
User since
2005-11-25
4 Artikel
BenutzerIn
[default_avatar]
@sesth
Haha der Fehler lag an der Zuweisung und nicht an der Ausgabe! Viele Stunden für nichts ;-)
Vielen Dank für die Hilfe...

@esskar
Da anschliessend das Zeugs formatiert ausgeben will, bringt diese Art mir nicht viel! Vielen Dank aber trotzdem...

mfg
aedu
coax
 2005-11-25 21:01
#60421 #60421
User since
2003-08-11
457 Artikel
BenutzerIn
[default_avatar]
[quote=aedu,25.11.2005, 16:27]@esskar
Da anschliessend das Zeugs formatiert ausgeben will, bringt diese Art mir nicht viel! Vielen Dank aber trotzdem...[/quote]
Doch! Es hilft beim Debuggen.
,,Das perlt aber heute wieder...'' -- Dittsche
ptk
 2005-11-26 18:46
#60422 #60422
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Ich habe sogar ein Emacs-Makro dafür ...
<< >> 6 Einträge, 1 Seite



View all threads created 2005-11-25 15:46.