kurti: Skrip laeuft net

Beitrag lesen

Guten ABend liebe Vorumsteilnehmer!

Seit geraumer Zeit nun versuche ich das angehaengte Skript zum laufen zu bekommen.

Hochgeladen habe ich es im ascii mode, und attribut 755 auf skript und Verzeichnis(se) gegeben.

Laut syntax-check ist das skript i.O. dennoch bekomme ich immerwieder nen Internal server error.

Weiss jemand Rat?  Waere super!

Vielen Dank im Voraus und viele Gruesse,

Kurti

#!/usr/local/bin/perl
use CGI::Carp qw(fatalsToBrowser);
use HTML::Parser;

Daten vom Formular bekommen

if($ENV{'REQUEST_METHOD'} eq 'GET')
 {
  $Daten = $ENV{'QUERY_STRING'};
 }
else
 {
  read(STDIN, $Daten, $ENV{'CONTENT_LENGTH'});
 }

print "Content-type: text/html\n\n";

Daten auswerten

@Formularfelder = split(/&/, $Daten);
 $daten =~ s/[\n]/<br>/gi;
 $original = $daten;
 foreach $Feld (@Formularfelder)
 {
  ($name, $value) = split(/=/, $Feld);
  $value =~ s/%0D/<br>/gi;
  $value =~ s/[\n]/<br>/gi;
  $value =~ tr/+/ /;
  $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
  $value =~ s/<!--(.|\n)*-->//g;
  $Formular{$name} = $value;
 }

$datum                          = $Formular{'datum'};
$titel                          = $Formular{'titel'};
$betreuer                       = $Formular{'betreuer'};
$mitgliedskarten                = $Formular{'mitgliedskarten'};
$zuzahlung                      = $Formular{'zuzahlung'};
$ermaessigtekarten              = $Formular{'ermaessigtekarten'};
$ermaessigtekartenwert          = $Formular{'ermaessigtekartenwert'};
$schuelerkarten                 = $Formular{'schuelerkarten'};
$schuelerkartenwert             = $Formular{'schuelerkartenwert'};
$normalkarte                    = $Formular{'normalkarte'};
$normalkartenpreis              = $Formular{'normalkartenpreis'};
$rabattmarken                   = $Formular{'rabattmarken'};
$vorstand                       = $Formular{'vorstand'};
$presse                         = $Formular{'presse'};
$gaeste                         = $Formular{'gaeste'};
$besuchergesamt                 = $Formular{'besuchergesamt'};
$spenden                        = $Formular{'spenden'};
$einnahmengesamt                = $Formular{'einnahmengesamt'};
$ausgaben                       = $Formular{'ausgaben'};
$honorar                        = $Formular{'honorar'};
$einzuzahlendeeinnahmen         = $Formular{'einzuzahlendeeinnahmen'};
$kinstiut                       = $Formular{'kinstitut'};
$bemerkung                      = $Formular{'bemerkung'};

if ($datum eq '')
{
&error
};

if ($titel eq '')
{
&error
};

if ($mitgliedskarten eq '')
{
&error
};

if ($normalkarte eq '')
{
&error
};

if ($besuchergesamt eq '')
{
&error
};

if ($einnahmengesamt eq '')
{
&error
};

$anzbesucher = $mitgliedskarten + $ermaessigtekarten + $schuelerkarten + $normalkarte + $vorstand + $presse + $gaeste;
$anzzahlendebesucher = $mitgliedskarten + $ermaessigtekarten + $schuelerkarten + $normalkarte;
$einnahmen = ($mitgliedskarten * $zuzahlung) + ($ermaessigtekarten * $ermaessigtekartenwert) + ($schuelerkarten * $schuelerkartenwert) + ($normalkarte * $normalkartenpreis) - ($rabattmarken * 3);
$erreinzuzahlendeeinnahmen = $einnahmen - $ausgeben;
$finanzergebnis = $einnahmengesamt + ($mitgliedskarten *12) + ($mitgliedskarten * $zuzahlung) - $ausgaben - $honorar;

$zuzmgl = $mitgliedskarten * $zuzahlung;
$wertmglk = $mitgliedskarten * 12;
$wertermk = $ermaessigtekarten * $ermaessigtekartenwert;
$wertschuelerk = $schuelerkarten * $schuelerkartenwert;
$wertnormk = $normalkarte * $normalkartenpreis;

Nummer für Eintrag holen...

open (DATA, "</usr/www/users/danfun/kr/docs/count.dat") or die "kann counterfile nicht lesen! : $!";
@Zahl = <DATA>;
   # $MyZahl = @Zahl[0];
$Myzahl = join("",@Zahl);
close(DATA);
$Orizahl = $Myzahl;
$Myzahl++;

Deutsches Datum machen

$Jetztwert = time();
$Jetztzeit = localtime($Jetztwert);
&Deutschnamen;
@Zeit = split(/ +/,$Jetztzeit);
@Uhrzeit = split(/:/,$Zeit[3]);

&post;

#================================================================

sub Deutschnamen
{
 $Jetztzeit =~ s/Mon/Montag/;
 $Jetztzeit =~ s/Tue/Dienstag/;
 $Jetztzeit =~ s/Wed/Mittwoch/;
 $Jetztzeit =~ s/Thu/Donnerstag/;
 $Jetztzeit =~ s/Fri/Freitag/;
 $Jetztzeit =~ s/Sat/Samstag/;
 $Jetztzeit =~ s/Sun/Sonntag/;
 $Jetztzeit =~ s/Jan/Januar/;
 $Jetztzeit =~ s/Feb/Februar/;
 $Jetztzeit =~ s/Mar/Maerz/;
 $Jetztzeit =~ s/Apr/April/;
 $Jetztzeit =~ s/May/Mai/;
 $Jetztzeit =~ s/Jun/Juni/;
 $Jetztzeit =~ s/Jul/Juli/;
 $Jetztzeit =~ s/Aug/August/;
 $Jetztzeit =~ s/Sep/September/;
 $Jetztzeit =~ s/Oct/Oktober/;
 $Jetztzeit =~ s/Nov/November/;
 $Jetztzeit =~ s/Dec/Dezember/;
}

Ergebnisse zeigen...

sub post
{

print << "[END]";

<html>
[viel html geloescht]
</html>

[END]
}

EOP

Fehler

sub error
{
print << "[END]";
<html>

<head>
<title>Fehler!</title>
</head>

<body>

<h1>Achtung!</h1>
<p>&nbsp;</p>
<p>Leider ist bei der Eingabe der Daten ein Fehler aufgetreten.</p>
<p>Bitte versuchen Sie es erneut oder kontaktieren Sie Kurt Behning unter
05861-986220 oder per <a href="mailto:kurti(at)behning.de">E-Mail</a></p>

</body>

</html>
[END]

EOP

die;
}