Array in Hash
SI
- perl
Hallo zusammen,
ich hab einen Hash, der sieht so aus:
%h = ("Auto" => 1,"Haus" => 2,"Baum" => 3);
Nun will ich aber den Keys (z.B.Auto) mehrere Werte (z.B. zu den "1" noch "blau","cabrio"...) zuweisen.
Frage 1:
Wie kann ich das machen ?
Frage 2:
Wie greife ich dann auf die einzelnen Werte eines Keys zu ?
Ich benötige später nämlich dann alle Werte von Auto.
Danke für Hilfe.
cya
SI
Hi,
Nun will ich aber den Keys (z.B.Auto) mehrere Werte (z.B. zu den "1" noch "blau","cabrio"...) zuweisen.
perldoc perldsc
bzw. http://www.perldoc.com/perl5.8.0/pod/perldsc.html
HTH
wunderwarzenschwein
Danke,
raff aber dennoch nicht, wie ich in zum Auto die Werte hinzufügen.
Es wäre nett, wenn man nciht nur die manual postet sondern vielleicht es ein
wenig erklärt und vielleicht ein Beispiel gibt.
cya
SI
Danke,
raff aber dennoch nicht, wie ich in zum Auto die Werte hinzufügen.
Es wäre nett, wenn man nciht nur die manual postet sondern vielleicht es ein
wenig erklärt und vielleicht ein Beispiel gibt.
Was verstehst du denn nicht?
Besser und vor allem ausführlicher kann man das nicht erklären, wie auf dieser Seite.
Struppi.
Hi,
ok folgender Fall:
ich hab ein Hash der sieht so aus:
%hash = ("a","1","b","2","c","3");
Nun hab ich ein Array das sieht so aus
@arr = (a,3,4,5,b,2,3,5,c,6,9,8);
Nun will ich dass das nachher so ausschaut:
%hash =
( a => ["1","3","4","5"],
b => ["2","3","5"],
c => ["3","6","9","8"],
};
Aber ich bekomme das leider nicht hin.
Kann mir da jemand weiterhelfen ?
cya
SI
Hi,
ok folgender Fall:
ich hab ein Hash der sieht so aus:
%hash = ("a","1","b","2","c","3");
Nun hab ich ein Array das sieht so aus
@arr = (a,3,4,5,b,2,3,5,c,6,9,8);Nun will ich dass das nachher so ausschaut:
%hash =
( a => ["1","3","4","5"],
b => ["2","3","5"],
c => ["3","6","9","8"],
};Aber ich bekomme das leider nicht hin.
Kann mir da jemand weiterhelfen ?
Irgendwie haben die beiden Nichts mit einander zu tun. du wirst wohl nicht umhin kommen mit Schleifen und Abfragen zu arbeiten, wenn deine Daten wirklich so aussehen.
Struppi.
Hallo Si,
Du scheinst sowas zu suchen:
$\ = "\n";
my %hash;
my @arr = [1, 2, 3];
$hash{key1} = [1, 2, 3];
$hash{key2} = [9,8,7];
print $hash{key1};
print @{ $hash{key1} }[0];
push(@{$hash{key1}}, 4); # hinzufuegen des Wertes 4 zum Array von hash{key1}
push(@{$hash{key1}}, 5);
print @{ $hash{key1} }[1]; # ist 2
print @{ $hash{key1} }[2]; # ist 3
print @{ $hash{key1} }[3]; # ...
print @{ $hash{key1} }[4];
@{$hash{key1}}[0] = 4;
print @{ $hash{key1} }[0];
print @arr;
print $hash{key2};
print @{ $hash{key2} };
viel Spaß damit
Christoph