[Vienna-pm] Hash-Frage von extern
peter pilsl
pilsl at goldfisch.at
Tue Sep 28 06:38:02 CDT 2004
Carl A. Schreiber wrote:
>
>>%hash->{$eintrag->{DES_1}}->{$eintrag->{SRC_1}} +=$eintrag->{DATA1};
>
durch die mischung von 2 systemen und einer veralteten syntax wird das
ganze etwas unleserlich, aber prinzipiell ist das ok.
$hash{ $eintrag->{DES_1} } -> { $eintrag->{SRC_1} } +=$eintrag->{DATA1};
%hash->{x} ist das gleiche wie $hash{x} , nur absolut out.
Ein hash, der als keys die werte von anonymen hashes nimmt und selbst
wiederum anonyme hashes enthält.
%a=(a=>{x=>"anton"},b=>{y=>"berta"});
print %a->{a}->{x},"\n"; # -> warning bei -w
print %a->{a}{x},"\n"; # -> warning bei -w
print $a{a}->{x},"\n";
print $a{a}{x},"\n";
print [@a{("a","b")}]->[0]->{x},"\n"; # slice
das mit dem += hat tom schon geklärt.
prinzipiell finde ich es wesentlich übersichtler durchgehend mit
referenzen zu arbeiten, also mein beispielhash gleich so zu definieren:
$a={a=>{x=>"anton"},
b=>{y=>"berta"}};
in d.c.l.p.m findet übrigens aktuell eine ähnliche debatte zu
"mehrdimensionalen" hashes statt.
>
> Wird also dem hash %hash ein neues Element (key=>value) hinzugefügt?
>
*JE NACHDEM:* wenn dieser key schon definiert ist, dann wird addiert.
Wenn der key aber noch nicht definiert ist, dann wird er erzeugt und der
value als wert eingetragen !!!
peter
ps: ich hasse unicode !! (als statement meiner aktuellen befindlichkeit
für domm ;)
--
mag. peter pilsl
goldfisch.a
IT-management
tel +43 699 1 3574035
fax +43 699 4 3574035
pilsl at goldfisch.at
More information about the Vienna-pm
mailing list