Alain: print ....wird trotz "exit" ausgeführt?!...apache BUG?

Beitrag lesen

Hallo,
ich dachte immer wenn exit ausgeführt wird dann geht in perl nix mehr?
Dem ist aber nicht so,wie ich gemerkt habe-warum?
Ich habe ein gästebuch,welches emails in einer log abspeichert,
wenn der eintrag gefunden wird,wird exit ausgeführt.
Hier das beispiel:
sub check_log {
$logfile = "/home/guestbook/contlog.txt";
open(LOG,"+<$logfile") || &dead;
flock(LOG,LOCK_EX);
while (<LOG>){
&dead if /$FORM{'username'}/;
}
seek (LOG, 0, 2);
print LOG "$FORM{'username'}\n";
close (LOG) || &dead;
}

sub dead {
print "Content-type: text/html\n\n";
print "<center>Error: hello,you have already an entry in our guestbook\n";
print "<hr width='100%'></center>\n";
exit;
}

dead wird zwar ausgeführt und kein eintrag ins gästebuch gemacht,wenn
das suchwort z.B. hotmail.net findet im log.
Wenn jemand aber meinemail@hotmail.net eingibt,wird das (meinemail@hotmail.net) in die log eingetragen,jedoch nicht im gästebuch.
Beim zweiten versuch wird,aber dieselbige email nicht mehr in die log eingetragen.Frage,wieso wird die ganze email nochmal eingetragen in die log,wenn da der eintrag hotmail.net bereits drinnsteht und offensichtlich exit ausgeführt wird?
Grüsse
Alain