Hallo Siechfeld,
und wie erklärst Du Dir das,dass der eintrag ins gästebuch nicht erfolgt ,wenn &dead ausgeführt wird,jedoch aber trotzdem in die LOG,obwohl "hotmail.net"(was sowiso ne ungültige email ist) bereits in der LOG steht?
Also in deinem Code habe ich nirgendwo einen Eintrag in ein Gästebuch feststellen können, nur in eine Logfile. Ich mach mal ein Beispiel:
my $logfile = "/home/guestbook/contlog.txt";
my $retcode = check_log();
if($retcode == 1) {
dead("Ein-/Ausgabefehler beim Öffnen der Logdatei.");
exit(1);
}
else if($retcode == 2) {
dead("User existiert bereits");
exit(1);
}
else {
# Eintrag ins Gästebuch
}
das klingt vernüftig und logisch-geht vermutlich auch.Ich habe da aber leider keine grosse testmöglichkeit bei dem server.
Ich würde das ganze am liebsten mit use strict benutzen,aber naja...
Bei dem alten script das ich habe war das so,dass diese
subs am anfang vom script direkt ausgeführt werden,bevor das gästebuch öffnet also:
#!/usr/bin/perl
$guestbookreal = "/home/guestbook/guestbook.html";
$nochpaarvariablen
&check_log;
&general;
&agentcheck;
Begin the Editing of the Guestbook File
open (FILE,"$guestbookreal") || die "Cannot Open guestbook\n";
@LINES=<FILE>;
close(FILE)........usw.
So sollte es vom Prinzip her funktionieren. Btw, warst du nicht der Frager zum Thema Tainted-Modus und exit aus Subs heraus?
möglich,das(Tainted-Modus) war auch mal eines meiner frage-themen zu perl :)
warum?warst das Du damals,der geholfen hat? ich glaube es ging um "eine variable von der einen sub in die andere sub übertragen"-> mit shift...
Grüsse
Alain