Hi,
"Fehler bei Zugriff auf http://www.xxxxx.xx/cgi-bin/script.cgi..."
Nicht jedesmal, aber oft.
was steht zu diesen Zugriffen im Server- und/oder Error-Log?
Einige Tests haben jetzt ergeben, das es wahrscheinlich an folgendem Baustein liegt
Tja, ich finde nicht, woran es liegen könnte... also hake ich mal nach:
$bestellpath=$BASEDIR.$DIRDELIM.$BESTELL;
$BASEDIR ist am Rootverzeichnis des Filesystems angelehnt, hoffe ich?
»» open(TEMPLATE, $bestellpath) die "Kann Template nicht oeffnen";
In dem "or die" solltest Du _unbedingt_ $! und ggf. $? ausgeben lassen! Im Error-Log steht dann mehr.
$result_page = "";
Warum interpolierst Du einen Leerstring?
$result_page = ''; # beachte die Singlequotes
while (<TEMPLATE>) {
ersetzen();
Der Funktion solltest Du dringend den zu ersetzenden Wert übergeben, der dann mit return zurückgeliefert wird:
$_ = &ersetzen($_); # eigene Funktionen mit &funktionsname aufrufen
print "$result_page\n";
Hm, das "\n" am Ende dürfte auch nicht schuld sein.
Was kann ich tun ?
Deine Scripts ein wenig verschönern:
#!/usr/bin/perl -w
use strict;
statt nur
#!/usr/bin/perl
Der Fehler wird dadurch zwar auch nicht korrigiert werden, aber vielleicht findest Du einige andere, die Du ohne "-w"arnungen nicht bemerkt hast.
Cheatah