Dateihandles??
Hendrik Kammholz
- perl
0 Eternius0 Klaus Mock
Folgendes Perl-Script habe ich aus Selfhtml:perl/Funktionsreferenz/Funktionen für Ein-/Ausgabe und Lesen/Schreiben von Daten entnommen. Lediglich die Textdatei, auf die das Script zugreifen soll wurde von mit entsprechend geändert. (Hier auf einem XP-Rechner, deshalb mit Laufwerksangabe).
#!c:/perl/bin/perl -w
use strict;
open(DATEI, "<d:/passwd.txt") or die "Datei nicht gefunden";
my @Zeilen = <DATEI>;
close(DATEI);
my @NeueZeilen;
foreach(@Zeilen) {
$_ =~ s/#.*//;
push(@NeueZeilen,$_) if $_ !~ /^\s*\n/;
}
open(DATEI, ">/tmp/server.cfg") || die "Datei nicht gefunden";
print DATEI @NeueZeilen;
close(DATEI);
Das Script funktionierte nicht. Statt dessen kam folgende Fehlermeldung im Browser (IE 6.0):
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, admin@localhost and inform them of the time the error occurred, and anything you might have done that may have caused the error.
More information about this error may be available in the server error log.
Woran liegt das? Was muss ich tun, um dennoch auf die Datei zugreifen zu können?
Hallo,
Woran liegt das? Was muss ich tun, um dennoch auf die Datei zugreifen zu können?
was sagt das Errorlog?
gruss
Hallo,
open(DATEI, "<d:/passwd.txt") or die "Datei nicht gefunden";
open(DATEI, ">/tmp/server.cfg") || die "Datei nicht gefunden";
Der zweite Dateiname ist eindeutig mittels Unix-Pfad angegeben. Ob das so gewollt ist?
Aussedem sind die Fehlermeldungen nicht aussagekräftig genug, da z.B. weder der Dateiname noch die Fehlerursache ausgegeben wird.
Woran liegt das? Was muss ich tun, um dennoch auf die Datei zugreifen zu können?
Natürlich solltest Du die Server Log Dateien prüfen, aber ich vermute einmal, dass es an der (für CGI-Scripts notwendige) fehlenden Ausgabe der HTTP-Response-Header und des üblicherweise vorhandenen Inhalts liegt.
http://de.selfhtml.org/perl/intro.htm#testen liefert ein Beispiel, wie ein einfaches CGI-Script auszusehen hat.
Grüße
Klaus