ich bringe dieses Skript auf dem Server vom Provider nicht zum Laufen!!! Ich erhalte immer die Fehlermeldung "error 500 - interner Serverfehler". Die Rechte chmod 755 habe ich gesetzt. Bei mir lokal klappt es und ich bin mit meinem Latein am Ende...
Der Provider arbeitete auf Linux Betriebssystem mit MySql-Datenbank; bei mir zuhause habe ich Windows und Access (es sind bereits sämtliche DB-Einträge in die MySql-Datenbank importiert)
Kann mir jemand sagen, wo hier der verflixte Fehler liegt. Die Zugangsdaten für den connect ($dsn, $user, $password) sind lt. Provider richtig definiert. Kann es an den verwendeten Modulen liegen?
hier das Skript:
#! /usr/bin/perl
#Daten zum Befüllen des Templates
package Vorlage;
use HTML::Entities;
@abnr = ();
package Programm;
#Festlegen der verwendeten Perlmodule
use DBI;
use CGI qw( :cgi );
use Text::Template;
#Definition der allgemeinen Variablen
my $dsn = 'xxx';
my $user = 'xxx';
my $password = 'xxx';
my $formular = new CGI();
my $templateName = '/perl_templates/test.html';
my $documentRoot = $ENV{'DOCUMENT_ROOT'};
#connect vorbereiten
my $dbh = DBI->connect($dsn, $user, $password,
{RaiseError => 1, AutoCommit => 1}) || die $DBI::errstr;
$header = $formular->header(
-type => 'text/html'
);
#Auslesen aller Einträge aus T_TEST
my $stmtHlesen = $dbh->prepare('select * from T_TEST');
$stmtHlesen->execute()
|| die "SQL-Fehler: " . $stmtHlesen->errstr . "\n";
my $i = 0;
while (my $result = $stmtHlesen->fetchrow_hashref()) {
$Vorlage::abnr[$i] = $result->{AB_NR};
$i++;
}
$stmtHlesen->finish();
#Schließen Datenbank-Handle
$dbh->disconnect();
my $template = new Text::Template (
TYPE => 'FILE',
SOURCE => $documentRoot . $templateName,
DELIMITERS => ['<%SHOP:', '/SHOP%>'],
);
#Ausgabe der Daten
my $ausgabe = $template->fill_in(PACKAGE => 'Vorlage');
print $header;
print $ausgabe;
Wäre super, wenn mir jemand helfen könnte :-)