[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