Hi liebe Leute !
Ich plage mich schon seit einiger Zeit mit diesem Perl-Script,
das ich zur Wiederbelebung unseres Lieblingschats brauche.
Ich hab mir, um der Sache auf den Grund zu gehen,
den Apache installiert, und tatsächlich zum Laufen gebracht.
Auch hab ichs soweit hinbekommen, dass sich die einzelnen
Chat-Teile finden, Pfade-mässig.
Ich bin absoluter Perl-Neuling, von daher weiss ich jetzt nicht,
was ich mit dem Auszug aus der errors.log anfangen soll.
Obwohl ich durch Rumraterei schon einen Fehler beseitigt habe.
Der Apache meckert 2 Zeilen im Script an, die ich ^^^^markiert habe.
Es wird schon in die chat.dat-Datei eingeschrieben,
nur wird nicht neu geladen.
Erst z.B. nach einem Reboot wird das ehemals Geschriebene sichtbar.
Ich hab die kompletten chat-Dateien mal hierhin gelegt,
mit index.html zum umherbrausen....
Wäre echt sehr dankbar für Unterstützung ! :- ))
http://www.uni-mannheim.de/users/chiron/cgi/
#####Auszug aus httpd.errors.log:
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
ub SeitenKopf
{
local $title = $_[0];
print ("Content-type: text/html\n\n");
print ('<html>');
print ('<head><title>');
print $title;
^^^^^^^^^^^^^^^^^^^^^^^^^^
print ('</title></head>');
}
####Ausschnitt von chat.cgi.pl
ub text
{
my $zaehler = 1;
$dat[0] = $datum . '##' . $dat{'farbe'} . '##' . $dat{'name'} . '##' .
$dat{'homepage'} . '##' . $dat{'text'} . "\n";
open (DAT, "
* 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
Steffen Dettmer wrote:
Viele sehr interessante Sachen. Es ist wirklich unglaublich ! Weisst Du, wo ich den Chat-CGI-Kram her hab ? Aus einem Buch mit dem Namen: PERL, DAS EINSTEIGERSEMINAR. "Mit grossem CGI-Teil" Die Beispiele sind dummerweise für den Xitami unter Windoof, aber mit der Portierung bin ich ja zu Rande gekommen, sind ja nur ein paar Pfade zu ändern. WENN ES DENN LAUFEN WÜRDE ! Da kauft man sich ein Perl-Buch, und es geht NIX. Das Buch war günstig, 19:80, und von daher meine Wahl. Es ist halt WIRKLICH für Anfänger, der ich ja bin. Dass da ständig "DAT" vorkommt, macht mir das Durchblicken auch nicht leichter, das ist wahr. Wenn ich nun aber den Code, den ich gepostet habe, an den richtigen Stellen durch Deine Zeilen ersetze, meinst Du, das Ding läuft dann ? Ich probiers einfach. Den VERMEINTLICHEN Hauptteil der Arbeit habe ich noch vor mir. Ich muss aus diesem Krumpelchat nämlich das machen, was einst unter http://www.nautilus.de/dialog abzurufen war. D.H.: Keine automatische Aktualisierung, sondern ein Button. Keine unterschiedlichen Schriftfarben, sondern gelb auf einem blauen, netten Hintergrund. Früher oder später (wohl eher später) würde ich gerne logging-Funktionen einbringen, um rechte-Sprüche-Postern und Kinderpornographen die Hölle heiss machen zu können. Evt. soll noch ne Archivierungsfunktion rein... Ähhh und... war da nochwas ?!? Ich glaube ich bin UR-ALT, bis ich das hinter mir habe. Aber vielleicht kann ich dann ja Perl. Und das deprimierende für mich ist eben, dass noch nicht mal der Autor des Buches in der Lage war, das Ding als ein Funktionierendes hinzukriegen. Wie soll ICH das dann machen ? Aber es muss irgendwie gehen. Vielen Dank jedenfalls für Deine Hilfe, ich kanns hier echt brauchen ! *g* Best wishes, Norman P.S. Wie lange braucht man, bis man Perl einigermassen kann ? --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
Hi Norman!
P.S. Wie lange braucht man, bis man Perl einigermassen kann ?
Ich hatte dazu ein Super-Buch: Perl 5 für Dummies Hab damit ca. einen Tag gebraucht und konnte es. --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
On Thu, 23 Mar 2000, Andreas Reich wrote:
P.S. Wie lange braucht man, bis man Perl einigermassen kann ? Ich hatte dazu ein Super-Buch: Perl 5 für Dummies Hab damit ca. einen Tag gebraucht und konnte es.
"Learning Perl in two hours": http://www.cclabs.missouri.edu/things/instruction/perl/perlshow.html Mit freundlichen Grüßen, Joerg Henner. -- LinuxHaus Stuttgart | Tel.: +49 (7 11) 2 85 19 05 Jörg Henner und Adrian Reyer, Datentechnik GbR | D2: +49 (1 72) 7 35 31 09 | Fax: +49 (7 11) 5 78 06 92 Linux, Netzwerke, Webhosting & Support | http://lihas.de --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
Norman
P.S. Wie lange braucht man, bis man Perl einigermassen kann ?
also ich spiel mich jetzt im rahmen eines nebenjobs so ca. 6 monate damit und hab zuhause ein wenig damit gespielt. eingentlich komm ich ganz gut damit zurecht, auch wenn ich die details über referenzen, closures oder objektorientierung in perl (was ja auch nicht sehr schön ist, perl-fans verzeicht mir) noch nicht so ganz verstanden habe. ich hab hier zwei tolle bücher, die ich dir auch sehr empfehlen kann Perl Black Book, Steven Holzner, Coriolis Group, ca 50 US$, 1250 Seiten und Perl - Einführung, Anwendung, Referenz, Addison-Wesley 1999, ca 1150 Seiten 100 DM da findest du auf so ziemlich alles ne antwort, beide haben viele beispiele zu CGI und das zweite auch ne wohltuende abneigung gegen einen großen Softwarekonzern perl treibt einen schon mal kurz in den wahnsinn, aber nach einiger zeit ist man froh, daß man es kennt markus
--------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
-- Markus Jais jais@rz.fh-muenchen.de http://www.informatik.fh-muenchen.de/~ifw98098 Save the wolves: http://www.euronatur.org/wolf_E.htm --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
* jais wrote on Thu, Mar 23, 2000 at 22:49 +0100:
eingentlich komm ich ganz gut damit zurecht, auch wenn ich die details über referenzen, closures oder objektorientierung
Tja, aber kann gut sein, daß Du closures schon verwendet hast, wer weiß, das schöne ist ja, Perl macht hier wiedermal genau das, was man intuitiv erwartet :)
in perl (was ja auch nicht sehr schön ist, perl-fans verzeicht mir) noch nicht so ganz verstanden habe.
Was meintest Du mit nicht sehr schön? Bitte per PM :)
da findest du auf so ziemlich alles ne antwort, beide haben viele beispiele zu CGI
OK, aber mit CGI anzufangen, ist wohl nicht so günstig, auch wenn die Sicherheit egal ist. Da bekommt man ja nur schwer Meldungen, kann auf ner Console den Output schlecht lesen etc. pp.
perl treibt einen schon mal kurz in den wahnsinn, aber nach einiger zeit ist man froh, daß man es kennt
Yepp, sehr froh :) 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
Norman schrieb:
#####Auszug aus httpd.errors.log:
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.
Hallo Norman, das sagt Dir, dass Du eine Variable benutzt, die keinen Wert hat.
#####Ausschnitt von cgiuprgs.pl
sub SeitenKopf { local $title = $_[0];
besser my $title = shift;
print ("Content-type: text/html\n\n"); print ('<html>'); print ('<head><title>'); print $title; ^^^^^^^^^^^^^^^^^^^^^^^^^^ print ('</title></head>'); }
Ohne Dein vollstaendiges Script zu kennen vermute ich, dass die variable $title nicht belegt wird. Wenn Du nicht immer die Funktion mit Parameter aufrufst, kannst Du Dir vielleicht mit $title ="" unless $title; helfen. Dann ist $title zumindest "" und nicht undef. Du solltest Dir uebrigens unbedingt mal das CGI-Modul anschauen. perldoc CGI
####Ausschnitt von chat.cgi.pl
sub text { my $zaehler = 1; $dat[0] = $datum . '##' . $dat{'farbe'} . '##' . $dat{'name'} . '##' . $dat{'homepage'} . '##' . $dat{'text'} . "\n"; open (DAT, "
Auf jeden Fall pruefen ob's geklappt hat:
open (DAT, " while (length ($dat = <DAT>) > 10)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Existiert die Datei chat.dat ueberhaupt? Naja, mehr auf der Website...
Dazu habe ich jetzt leider keine Zeit gefunden, aber vielleicht
kommst Du auch so weiter. Viel Erfolg
Michael
--
Michael Baumeister
E-mail: m.baumeister@gmx.de
---------------------------------------------------------------------
To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com
For additional commands, e-mail: suse-linux-help@suse.com
Hi ! Vielen Dank fuer die Tips ! Michael Baumeister wrote:
Wenn Du nicht immer die Funktion mit Parameter aufrufst, kannst Du Dir vielleicht mit $title ="" unless $title; helfen. Dann ist $title zumindest "" und nicht undef.
Hab ich gerade eingefügt.
Du solltest Dir uebrigens unbedingt mal das CGI-Modul anschauen. perldoc CGI
Hab ich mir grad angeschaut. Ziemlich heftiges Material.
Auf jeden Fall pruefen ob's geklappt hat: open (DAT, "
Ja, das klappt eigenltich, immerhin schreibt das Programm in die chat.dat. Das Problem ist eigentlich nur, dass der Chat nicht aktualisiert, was die Chatterei ein wenig ad absurdum führt...
while (length ($dat = <DAT>) > 10) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Existiert die Datei chat.dat ueberhaupt?
Ja, die gibts, und sie verändert sich sogar. Doch davon merkt man im Gebrauch nichts.
Dazu habe ich jetzt leider keine Zeit gefunden, aber vielleicht kommst Du auch so weiter.
Werd ich sehen.
Viel Erfolg Michael
Danke, kann ich brauchen. Falls Du mal Zeit hast, schreib ich grad nochmal die URL auf: http://www.uni-mannheim.de/users/chiron/cgi/ CU ! Norman --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
participants (6)
-
eppingen@rumms.uni-mannheim.de
-
jais@rz.fh-muenchen.de
-
jhe@lihas.de
-
m.baumeister@gmx.de
-
steffen@dett.de
-
webmaster@cyraxx.de