Thread Ausgabe User Daten
(2 answers)
Opened by schiba1 at 2007-11-13 15:05
Zum Verständnis meinerseits:
Code (perl): (dl
)
1 2 3 4 foreach (keys %CustomerUserList) { my %User = $CommonObject{CustomerUserObject}->CustomerUserDataGet(User => $_); $CustomerUserList{$_} = $User{UserLocation} || ''; } CustomerUserList enthält vermutlich eine Liste von Usern, die Du abfragen willst. Für jeden willst Du CustomerUserDataGet aufrufen, die abgefragten Daten speicherst Du in %User zwischen, verwendest aber nur UserLocation, sodass im Ergebnis in CustomerUserList jedem User eine Location zugewiesen ist. Willst Du den kompletten Hash verwenden, den CustomerUserDataGet liefert, wäre sowas möglich: Code (perl): (dl
)
1 2 3 4 foreach (keys %CustomerUserList) { my %User = $CommonObject{CustomerUserObject}->CustomerUserDataGet(User => $_); $CustomerUserList{$_} = \%User; } Zugriff: Code (perl): (dl
)
$CustomerUserList{$User}->{$Schluessel} Selektiv würde auch gehen, indem Du bspw. ein Array mit den gewünschten Schlüsseln fütterst und das Ergebnis durchgehst: Code (perl): (dl
)
1 2 3 4 5 6 7 my @wanted = qw(UserLocation UID foo bar quox); foreach my $mainkey (keys %CustomerUserList) { my %User = $CommonObject{CustomerUserObject}->CustomerUserDataGet(User => $mainkey); foreach my $subkey (@wanted) { $UserLocationList{$mainkey}->{$subkey} = $User{$subkey} || ''; } } So in etwa, einfacher und eleganter geht's bestimmt auch :) Siechfred |