Thomas: Premature end of script headers

Beitrag lesen

Hallo!
Wenn ich mir über ein HTML-Formular die Einträge einer Datenbank mittels folgendem Perl-Skript anzeigen lassen möchte, bekomme ich immer die Fehlermeldung "Premature end of script headers". Wer kann mir sagen, woran dass liegen kann? In der Konsole lässt sich das Skript fehlerfrei compilieren, die Fehlermeldung erfolgt lediglich beim Aufruf über den Browser. Skript:

#!e:/perl/Perl/bin/perl -w

use strict;

use CGI qw (:standard);
use CGI::Carp qw (fatalsToBrowser);
use DBI;

my $DBH;
my $STH;
my $CGI;
my $antwort;

$CGI = new CGI();

###Eintrag oder Anzeige###

if($CGI->param("anzeige")){
anzeige($CGI, $DBH, $STH);
}

elsif($CGI->param("eintrag")){
eintragen($CGI, $DBH, $STH);
}

###Start Subroutine Anzeige###

sub anzeige{

$DBH = DBI->connect("DBI:CSV:db_aufgabe2=e:/apache/Apache2/cgi-bin")
            or die "Konnte keine Verbindung zur Datenbank herstellen:$!";

$STH = $DBH->prepare ("SELECT * FROM db_aufgabe2")
            or die "Konnte SQL-Statement nicht bereitstellen:$!";

$STH->execute()
            or die "Ausführen nicht möglich:$!";

print <<HERE_TEXT1;
Content-type: text/html

<html>
<head>
<title>Datensätze in Datenbank</title>
</head>
<body>
<center>
<h1>Datensätze:</h1>
<hr>
<table border>
<tr>
<td width="100"><b>Kalenderwoche</b></td>
<td width="100"><b>Einheiten</b></td>
</tr>

HERE_TEXT1

my @data;

while (@data = $STH->fetchrow_array()){
        my $kalenderwoche = $data[0];
        my $einheiten = $data[1];
print qq§<tr>\n<td><b>$kalenderwoche</b></td>\n<td>$einheiten</td>\n</tr>\n§;
}

print qq§</table>\n<p><a href="../aufgabe2_eintrag.html">Zurück zum Eingabeformular</a></p>\n<hr>\n</center>\n</body>\n</html>§;

$STH->finish();
$DBH->disconnect;}

###Start Subroutine Eintragen###

sub eintragen{

my ($kalenderwoche, $einheiten) = (param('kalenderwoche'),param('einheiten'));

$DBH=DBI->connect("DBI:CSV:db_aufgabe2=e:/apache/Apache2/cgi-bin")
          or die "Konnte keine Verbindung zur Datenbank herstellen:$!";

$STH=$DBH->do("INSERT INTO db_aufgabe2
VALUES('$kalenderwoche','$einheiten')")
          or die "Konnte SQL-Statement nicht bereitstellen:$!";

print<<HERE_TEXT2;
Content-type: text/html

<html>
<head>
<title>Antwort</title>
</head>
<body>
<h4>Datenbankeintrag</h4>
<hr>
<p><b>$kalenderwoche</b>, $einheiten</p>
<hr>
<p><a href="../aufgabe2_eintrag.html">Zurück zum Eingabeformular</a></p>
<hr>
</body>
</html>

HERE_TEXT2

$DBH->disconnect;}

Besten Dank für eure Hilfe.

Gruß Thomas