Schrift
[thread]11788[/thread]

Hashtabelle dynamisch erzeugen (Seite 2)

Leser: 3


<< |< 1 2 >| >> 14 Einträge, 2 Seiten
DanielH
 2008-05-11 19:04
#109580 #109580
User since
2007-11-15
54 Artikel
BenutzerIn
[default_avatar]
@ benjo:

steht doch da:

Code: (dl )
1
2
   # Daten in den Hash schreiben
$datensaetze{$dat}{$name}=$wert;


Bzw. hättest du das Script mal ausführen können; dann hättest du es auch gesehen:

Code: (dl )
1
2
# alles gefundenen ausgeben
print Dumper(\%datensaetze)."\n";
Gast Gast
 2008-05-11 19:18
#109581 #109581
DanielH+2008-05-11 17:04:57--
edit: allerdings müsste es "$datensaetze{$dat}->{$name}=$wert;" heißen. In "$datensaetze{$dat}" ist ja ne Referenz.


Erkennt perl automatisch. "$datensaetze{$dat}{$name}" ist schon ok. Spukt ja auch keinen Fehler aus
DanielH
 2008-05-11 19:22
#109582 #109582
User since
2007-11-15
54 Artikel
BenutzerIn
[default_avatar]
Hast recht. Ich hats auch nochmal getestet und das edit bereits entfernt.
topeg
 2008-05-11 19:39
#109583 #109583
User since
2006-07-10
2611 Artikel
BenutzerIn

user image
Mal als Überblick:
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
my %datensaetze;
# ... der Code von oben...

# Liste der Namen der gefundenen Datenlisten
print join(', ',keys(%datensaetze))."\n";

for my $main_key (keys(%datensaetze))
{
 print "- $main_key\n";
 for my $sub_key (keys(%{$datensaetze{$main_key}}))
 {
  print "     $sub_key = ";
  # wert zum schlüssel:
  print $datensaetze{$main_key}{$sub_key}."\n"
 }
 print "\n";
}

while(my ($main_key,$hashref)=each(%datensaetze))
{
 while(my ($sub_key,$value)=each(%$hashref))
 {
  print "$main_key -> $sub_key = $value\n";
 }
 print "\n";
}
<< |< 1 2 >| >> 14 Einträge, 2 Seiten



View all threads created 2008-05-11 11:08.