Hallo Ihr beiden :-)
... und die Meldungen würden dir anzeigen was du falsch machst.
Perl warnt nicht wenn man
if($var = $wert){}
statt
if($var eq $wert){}
oder
if($var == $wert){}
schreibt
Ist den um Himmels-Willen "=" und "eq" nicht ein und dasselbe?
Da hilft nur erzieherisches Kopf-an-die-Wand-schlagen-bis-es-blutet!
*hehehehe...* Typisch Perl-Noob <totlach>
Also Jungs:
Wer viel verkraften kann, darf hier schauen - ist aber noch nicht fertig!
Die Knackpunktstelle ist dies:
----------------------------------------
SameIp:
if($Jahr = $DBJahr) {
goto SameYear;
}
goto GoOn;
SameYear:
if($Monat = $DBMonat) {
goto SameMonth;
}
goto GoOn;
SameMonth:
if($Monatstag = $DBTag) {
goto SameDay;
}
goto GoOn;
SameDay:
if($Stunden = $DBStunden) {
goto TimeSpace;
}
goto GoOn;
TimeSpace:
if($DifMin <= 5) {
goto TimeError;
}
goto GoOn;
TimeError:
----------------------------------------
Der Programmablauf dürfte nur bis zu TimeError durchdringen können, wenn alle oberen Abfragen einwandfrei sind.
Ist der Eintrag in die DB um 14:00 erfolgt, dürfte ein Post um 15:01 TimeError auslösen - tut es aber! (weil 01 Min im Bereich von den 05 Min liegt). Der merkt gar nicht, daß es eine andere Stunde ist.
Gruß Gary