* Norman wrote on Thu, Mar 23, 2000 at 17:04 +0100:
Ich bin absoluter Perl-Neuling, von daher weiss ich jetzt nicht, was ich mit dem Auszug aus der errors.log anfangen soll.
Es gibt ein sehr gutes Perl Modul für CGI: Perl::CGI. Hat auch eine gute manpage. Solltest Du unbedingt ansehen. Spart viel Nerven :)
Obwohl ich durch Rumraterei schon einen Fehler beseitigt habe.
:) CooL.
Der Apache meckert 2 Zeilen im Script an, die ich ^^^^markiert habe.
Use of uninitialized value at cgiuprgs.pl line 45. Use of uninitialized value at /usr/local/httpd/cgi-bin/chat.cgi.pl line 27, <DAT> chunk 125. Use of uninitialized value at cgiuprgs.pl line 45. Use of uninitialized value at /usr/local/httpd/cgi-bin/chat.cgi.pl line 27, <DAT> chunk 126.
#####Ausschnitt von cgiuprgs.pl
sub SeitenKopf { local $title = $_[0];
$_[0] haut wohl nicht hin. Soll ein Parameter ein? Dann besser: my $title = shift. (Du meinst hier wohl nicht local sondern my. shift funktioniert wie bei 'ner Shell)
print ("Content-type: text/html\n\n"); print ('<html>'); print ('<head><title>'); print $title; ^^^^^^^^^^^^^^^^^^^^^^^^^^ print ('</title></head>');
Das ginge mit "use CGI" schöner: print $cgi->header(), "\n"; print $cgi->start_html( -title => $title, -bgcolor => "white"), "\n";
}
####Ausschnitt von chat.cgi.pl
sub text { my $zaehler = 1; $dat[0] = $datum . '##' . $dat{'farbe'} . '##' . $dat{'name'} . '##' . $dat{'homepage'} . '##' . $dat{'text'} . "\n";
Du verwendest @dat und %dat (verschiedene Variablen), daß weißt Du, ja? (Ich mags persönlich nicht, finde auch Namen wie dat nicht erklärend, also kann ich mir Dein Script nicht anschauen)
open (DAT, "
while (length ($dat = <DAT>) > 10) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Was soll das eigentlich machen? (schon wieder "dat"! Variablen dürfen auch anders heißen...) Zeilen lesen, solange die länger als 10 Zeichen sind? Lesbarer wäre dann vielleicht: LINE: while (my $line = <DAT> ) { #zu kurze Zeilen führen zum Abbruch last LINE if (length($line) <= 10); } oder : while (my $line = <DAT> ) { #zu kurze Zeilen ignorieren next if (length($line) <= 10); } oki, Steffen -- Dieses Schreiben wurde maschinell erstellt, es trägt daher weder Unterschrift noch Siegel. --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com