Thread Array in Hash (5 answers)
Opened by master at 2005-10-05 17:38

Strat
 2005-10-05 17:58
#58546 #58546
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
Ein Wert eines Hashes muss ein skalarer wert sein, also String, Zeichenkette oder eben auch Referenz auf irgendwas.

Ich wuerde da einfach eine Arrayref speichern:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
$adressen{Peter} = \@daten;

if (ref($adressen{Peter} eq 'ARRAY') {
foreach (@{ $adressen{Peter} } ) {
print "$_\n";
}
} # if
else { # nur ein normaler string
print $adressen{Peter}, "\n";
} # else

wenn du z.B. die zweite adresse aendern willst, dann einfach:
Code: (dl )
$adressen{Peter}->[1] = $neueAdresse;


Wenn du da unbedingt einen string speichern willst, dann musst du die einzelnen adressen durch irgendein zeichen trennen; \n wuerde sich da vielleicht anbieten. Aber dann musst du es immer mit @adressen = split(/\n/, $adressen{Peter}) zerlegen bzw. mit $adressen{Peter} = join("\n", @adressen) wieder speichern... da wuerde ich die Loesung mit den Arrayreferenzen bevorzugen
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/

View full thread Array in Hash