Owen: Unbekannte Schluessel bei Hashes

Beitrag lesen

Nur leider sind die Logzeilen bei Timeouts nicht vollständig, sprich es wird nur die SessionID uebergeben (Mon Jul 05 07:28:32 2004 -SYS    : Session ([0-9]{10}) is being closed due to timeout).. der Zeitwert muesste aber folglich als $hash{$3}{$2}{$1}{"Logout"} = $unixtime; gespeichert werden - darin liegt mein Problem, da nur $2 bekannt ist

Deine Datenstruktur ist scheiße. Nimm $2 als Schlüssel, knalle den Rest als HoH (wenn's bequem und speicherbläh sein soll) oder HoA (wenn's schnell laufen und fehleranfällig soll) rein, siehe perldsc http://perldoc.com/perl5.8.4/pod/perldsc.html.

HoH

$hashoh{$2} = {
 'user' => $1,
 'repo' => $3,
 'login' => $unixtime,
};
print $hashoh{$sessid}{'repo'};

HoA

$hashoa{$2} = [
 $1,
 $3,
 $unixtime,
];
print $hashoa{$sessid}[1];

use Data::Dumper;
print Dumper %hashoh, %hashoa;