Struppi: Unbekannte Schluessel bei Hashes

Beitrag lesen

Hallo christoph (nasty)

Ok, hier der Codeausschnitt:

if ($loginwerte =~ /-ERROR Login of a user via Web Access : User: (.*) session ID: ([0-9]{10}) Logged On to (.*)/)
  {
   $unixtime = datum($loginwerte);
   $hash{$3}{$2}{$1}{"Login"} = $unixtime;
  }

Mhhh, was $3 für ein Wert?
Welcher Schlüssel ist eindeutig?
$1, $2 oder $3?

Variabeln als Keys zu speichern ist nicht sinnvoll, lediglich der Hauptschlüssel sollte eine eindeutige (d.h. einmaliger vorkommender Wert) Variabel sein und für die anderen Schlüssel wäre ein Aussagekräftige Bezeichnung sinnvoll

z.b. so:

if ($loginwerte =~ /-ERROR Login of a user via Web Access : User: (.*) session ID: ([0-9]{10}) Logged On to (.*)/)
{
$hash{$name} = {
unixtime =>  datum($loginwerte) || '',
s_id => $2 || '',
log_on => $3 || ''
}

In der Annahme, das der $name nur einmal vorkommen kann.

Aber es hängt alles von deinem weiteren Vorgehen ab.

Struppi.