Thread SSH Script zur Massenabfrage: kein fehler, kein log, na supi...
(20 answers)
Opened by FlorianL at 2007-06-13 13:26
Du schreibst einmal sshconnect, aber die Funktion heißt ssh_connect.
Du lässt dir "Output: $_[0]" ausgeben, aber $_[0] ist an der Stelle undef. Du müsstest den Rückgabewert von ssh_connect ausgeben. Du prüfst nicht, ob das open(HOSTS, "$hostfile") erfolgreich ist. Ein open sollte immer eine Fehlerabfrage und informative Fehlermeldung beinhalten, z.B. mit ... or die "could not open $hostfile: $!". Statt chomp(my $hostfile = `echo \$WCOLL`) tut es sicherlich auch ein my $hostfile = $ENV{WCOLL}. Hast du ins Fehlerlog des Webservers geschaut? Gab es Fehlermeldungen? Noch etwas: Die Struktur des Programms finde ich sehr unübersichtlich: Erst kommt Code, dann kommen Subroutinen-Definitionen, dann kommt nochmal Code. Schreib doch allen Code des "Hauptprogramms" hintereinander, beendet mit einem exit 0, dann weiß man, wo's zuende ist. Dahinter können dann die Subroutinen stehen. Wenn Programme größer werden, sollte man sich überlegen, die gesamte Funktion in Module auszulagern. Ein Lob für die Verwendung von strict und warnings sowie CGI.pm. |