Halihallo Andreas
[...]
Wenn jetzt _keine_test.xls im selben Verzeichnis liegt wird
FILE : COUNT : AUTHOR:
ausgegeben,
soweit wäre das noch OK.
wenn aber eine Excel2000 Datei im Verzeichnis liegt, dann bleibt die Seite leer! NIX! gar nix.
Hm. Das jedoch ist etwas faszinierender. Du rufst das Script über's Web auf ja? - Also Webserver als CGI-Script... Könnte mir nur vorstellen, dass es mit einem die stirbt... Wobei du dann ein 500 kassieren solltest. Könnte auch sein, dass nur warnungen ausgegeben werden => Weblog.
Tip: Geb mal einige print's aus, einfach print 'step1...' ... pring 'step n'... so kannst du eventuell herausfinden in welcher Zeile es "hängen" bleibt. Eventuell kannst du auch folgendes an den Script anfang hängen:
BEGIN {
close(STDERR);
open( STDERR, '>>error_log.log' );
}
END {
close STDERR;
}
so werden eventuelle warn und Fehlermeldungen in die Datei geschrieben. Es kommt etwas auf die Webserverkonf. an, ob die Daten an STDERR ausgegeben (an den Client) werden, oder nicht. Zudem ist die Ausgabe STDERR und STDOUT asynchron => könnte sein, dass der Webserver das Socket schliesst, bevor STDERR gesendet wurde => mit dem oben genannten "Trick" kannst du die Meldungen der Datei entnehmen (alle, auch wenn das Socket schon geschlossen wurde => ist ja wurscht, da alles in die Datei umgeleitet wird).
Zudem: Bei Webservern und Scripts im Teststadium kann ich nur
use CGI::Carp qw(fatalsToBrowser);
empfehlen => beim die wird dann die Fehlermeldung an den Client gesendet (Software-error, 'keine Datei gefunden at test.pl, line xxx')
Wie kommt das? Das Modul ist jedenfalls verfügbar, nur die PERL Version ist etwas älter, Version 5.00503
Schätze mal, dass das damit funktionieren sollte, weiss ich aber nicht mit sicherheit.
Viele Grüsse
Philipp