Hi Rainer!
$database= join "",$ENV{'DOCUMENT_ROOT'},"news.data";
Offensichtlich schlägt das Öffnen der Datei fehl, printe doch mal $database. Was steht denn da drin? Geht $ENV{'DOCUMENT_ROOT'}?
Es ist besser, Dateien so zu öffnen:
open (DATA,$database) die "Can't Open $database!\n";
Dann wird das Script an beim Fehlschlagen der Operation beendet und Du erhälts 'ne Fehlerausschrift. So wie Du es gemacht hast, durchläuft das Script im Fehlerfall (Datei öffnen) nicht die if... then schleife, sondern gibt gleich die Meldung "keinen News..." aus. Auch wenn die Datei news.data nicht existiert.
Gruß Frank
P.S. So bekommst Du raus, welche $ENV-Vars vorhanden sind:
#!/usr/bin/perl
print "Content-type: text/plain\n\n";
$nl=0;
for(%ENV)
{
print $_, " ";
$nl++;
$x = $nl % 2;
if ($x == 0){ print "\n";}else{ print " : ";}
}
exit;