================================================== Dieses Dokument findet sich auch unter und ================================================== Liebe de.comp.lang.perl.{misc,cgi}-Leserin, lieber de.comp.lang.perl.{misc,cgi}-Leser, die Erfahrung zeigt, daþ sich hinter einem nicht unbeachtlichen Teil der Anfragen, die in diesen unseren Gruppen gestellt werden, zwar nicht unbedingt FAQs im engeren Sinne verbergen, diese sich aber doch oft auf einige Grundprobleme zur¸ckf¸hren lassen, die der jeweilige Fragestel- ler beziehungsweise die Fragestellerin durch die Einhaltung bestimmter Standards unschwer selbst und damit im allgemeinen auch schneller in den Griff bekommen oder zumindest genauer eingrenzen k–nnte. Wir bitten Dich daher darum, bevor Du eine Anfrage an die gesamte Gruppe stellst, folgende Checkliste durchzugehen: C H E C K L I S T E =================== 1. [ ] Mein Perl-Script verwendet den -w-Switch, d. h. es beginnt mit #!/usr/bin/perl -w (oder analog mit einem anderen Pfad) und < > es werden keine Warnmeldungen ausgegeben (oder) < > ich habe -- trotz "use diagnostics;" -- absolut keine Erkl”rung daf¸r, warum folgende Warnmeldung(en) ausgegeben wird/werden: _______________________________________________________ 2. [ ] Ich habe es zumindest auch schon mal mit "use strict;" und der expliziten Deklaration s”mtlicher verwendeter Variablen versucht, weil ich n”mlich perlstyle(1) -- zum Beispiel mittels "perldoc perlstyle" -- studiert habe. 3. [ ] Ich pr¸fe den R¸ckgabewert s”mtlicher open()-Anweisungen meines Scripts explizit mit "or die $!;" oder auf eine ”hnlich geeignete Weise; Gleiches gilt f¸r close()-Anweisungen, sofern es sich um das Schreiben einer Datei oder eine Pipe handelt. 4. Falls es sich um ein CGI-Script handelt und vor allem, wenn diesem CGI-Script Parameter ¸bergeben werden (sollen): [ ] Ich verwende das Modul CGI.pm, insbesondere zum Einlesen der Formulardaten. [ ] Um einen "500 Internal Server Error" n”her zu analysieren, habe ich bereits < > die HTTP-Server-Logfiles n”her untersucht und/oder < > es mit "use CGI::Carp 'fatalsToBrowser';" versucht. 5. [ ] Ich habe in der Perl-Doku mittels "man perl" und/oder "perldoc" und insbesondere auch "man perlfaq" und/oder "perldoc perlfaq" nach einschl”gigen Passagen zu meinem Problem gesucht, kam damit allerdings leider nicht zum gew¸nschten Erfolg. 6. [ ] Ich habe das de.comp.lang.perl.misc-Mini-FAQ, die hier sowie in und alle sieben Tage gepostet wird und auþerdem unter zu finden ist, sowie gegebenenfalls das de.comp.lang.perl.cgi-FAQ () und den "Idiot's Guide to Solving Perl CGI problems" gelesen, aber auch das wollte kein so rechtes Aha-Erlebnis ausl–sen. 7. [ ] Ich habe s”mtliche derzeit auf meinem Newsserver verf¸gbare Artikel in de.comp.lang.perl.{misc,cgi} durchgeschaut und auch auf gesucht, konnte dort aber keine Antwort finden, die zur L–sung meines Problems gereichen w¸rde. 8. [ ] Ich habe das CPAN () nach Modulen durchforstet, die zur L–sung meines Problems beitragen k–nnten, wurde dort aber leider nicht (ausreichend) f¸ndig. 9. [ ] Ich verwende m–glichst Perl 5.6.1 oder h–her oder notfalls zumindest Perl 5.005_03. Bei allen von mir eingesetzten Modulen habe ich verifiziert, dass ich deren jeweils aktuelle Version installiert habe. Sicher lassen sich nicht alle der genannten Punkte auf jedes Problem anwenden, wir hoffen aber, Dir damit vielleicht den ein oder anderen entscheidenden Tip gegeben zu haben, der Dir dabei helfen kann, selbst eine L–sung zu finden. Sollte das einmal trotz allem nicht funktionieren, bist Du nat¸rlich herzlich eingeladen, Dein Problem in de.comp.lang.perl.misc _oder_ de.comp.lang.perl.cgi zur Diskussion zu stellen. :-) Du kannst dabei Deine Chance, m–glichst kurzfristig eine oder vielleicht sogar mehrere fundierte Antwort(en) zu erhalten, erh–hen, indem Du Dich dabei an folgende einfache Standards h”ltst: 1. Bitte poste in der Regel keine Anfrage nach fertigen Scripts, vor allem nicht nach solchen f?r offenkundige Standardanwendungen, und jedenfalls nicht, bevor Du Dich auf danach umgesehen hast. 2. Bitte w”hle f¸r Dein Posting eine aussagekr”ftiges Subject! (vgl. hierzu auch ) Beispiele aus der Praxis, wie man es _nicht_ machen sollte, sind Subject: CGI Subject: Tip Subject: ist das falsch? Subject: Und gleich noch eine Frage.. 3. Bitte gib eine m–glichst exakte Beschreibung Deines Problems sowie der (beabsichtigten und tats”chlichen) Funktionsweise Deines Scripts, beispielsweise * Welche Ausgabe erwartest Du von Deinem Script, und welche (fehlerhafte) erzeugt es tats”chlich? * Wie sehen die Daten aus, die Du an das Script verf¸tterst? 4. Bitte gib das Betriebssystem sowie die Version Deines Perl- Interpreters, unter denen Du das Problem beobachtet hast, sowie ggf. die Versionsnummern s”mtlicher eingesetzten Module an (vgl. "perl -V", "perldoc CPAN")! 5. Bitte poste die Teile Deines Codes, die f¸r das Problem voraussicht- lich relevant sein k–nnten, aber auch _nur_ diese Teile. Generell sollte das Codest¸ck keinesfalls l”nger als etwa 42 Zeilen sein. 6. Bitte baue diese(s) Codest¸ck(e) als normalen Text in Deinen Artikel ein, _nicht_ als Attachment oder gar uuencoded, wie ¸berhaupt Dein gesamter Artikel sich auf "text/plain" beschr”nken sollte. 7. Erw”hne am besten kurz, welche Punkte der obigen Checkliste (erster Teil) Du bereits erfolglos versucht hast, denn wenn Dein guter Wille, das Problem selbst in den Griff zu bekommen, ersichtlich ist, w”chst die Lust vieler, Dir zu helfen. Dies sind jedoch nur die wesentlichsten Punkte. Falls Du noch gar keine Erfahrungen mit dem Posten von Usenet-Artikeln gesammelt hast, schau Dir bitte in Deinem eigenen Interesse die einschl”gigen Artikel hierzu in an. Doch nun erst einmal viel Spaþ bei der Fehlersuche! :-)