Kurti: Script wehrt sich.. :-(

Moin Leuts!

erstmal muss ich sagen, dass das hier ne Super Sache ist! (Fast) egal was man aufm Herzen hat, es wird einem geholfen. Lob an Stefan für sein Werk! Macht weiter so!

Doch nun zu meinem Prob:
folgendes Script verweigert beständig die Arbeit und ich kann mir nicht erklaeren warum...  (nein, am ascii-mode liegts nicht.. :))

--------cut---------

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

Daten vom Formular bekommen

read(STDIN, $Daten, $ENV{'CONTENT_LENGTH'});

Daten auswerten

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

HTML-Part (Kopf)

print "Content-type: text/html\n\n";
print "<html><head><title>Vollmacht</title></head>\n";
print "\n";
print "\n";
print "\n";
print "Vollmacht\n";
print "\n";
print "Diese Vollmacht gilt ausschliesslich nur für den Tag des Ausstellungsdatums.\n";
print "Also bei jedem Besuch im ". $Formular{'Discothek'} ." diese Vollmacht mit aktuellem Datum versehen, mitbringen.\m";
print "Ohne Vollmacht, Personalausweis und Aufsichtsperson ist der Aufenthalt für bis 17-jährige nur bis 24:00 Uhr erlaubt!\n";
print "\n";
print "\n";
print "Hiermit übertrage ich ". $Formular{'Eltern'} ." \n";
print "        ". $Formular{'Strasse'} ." \n";
print "        ". $Formular{'PLZ'} ." ". $Formular{'Ort'} ."\n";
print "        Telefon: ". $Formular{'Telefon1'} ." \n";
print "\n";
print "die Erziehungsberechtigung für ". $Formular{'Geschlecht'} ." ". $Formular{'Minderjaehriger'} ." \n";
print "geboren am ". $Formular{'Geburtstag'} ." an ". $Formular{'Aufsichtsperson'}\n";
print "                         ". $Formlar{'Aufsichtsperson_Strasse'} ." \n";
print "    ". Formular{'Aufsichts_PLZ'} ." ". $Formular{'Aufsichtsperson_Ort'} ." \n";
print "    Telefon: ". $Formular{'Telefon'} ." \n";
print "\n";
print "Am ". $Formular{'Besuchtag'} ." darf ". $Formular{'Minderjaehriger'} ." bis max. ". $Formular{'Zeit'} ." Uhr \n";
print "mit der von mir bevollmächtigten Person die Dicothek ". $Formular{'Dicothek'} ." besuchen.\n";
print "\n";
print "\n";
print "\n";
print "           __________________________________                  ______________________________ \n";
print "               Unterschrift d. Eltern   Unterschrift Aufsichtsperson \n";
print "\n";
print "\n";
print "\n";
print "\n";
print "</body></html>\n";

---------------------cut----------------

Waere Nett wenn sich das mal jemand anschaut.

Danke schonmal!!

denn bis dann,
                                   Kurti

  1. Hi,

    folgendes Script verweigert beständig die Arbeit und ich kann mir nicht erklaeren warum...  (nein, am ascii-mode liegts nicht.. :))

    was heißt "verweigert die Arbeit"? Was steht im Errorlog? Was gibt Dir...

    use CGI::Carp qw(fatalsToBrowser);

    ...auf den Bildschirm?

    read(STDIN, $Daten, $ENV{'CONTENT_LENGTH'});

    Warum läßt Du das nicht von CGI.pm erledigen (s. perldoc CGI)?

    print "Content-type: text/html\n\n";
    print "<html><head><title>Vollmacht</title></head>\n";

    [...]

    Warum läßt Du Deine vielen prints nicht von einem HERE-Dokument erledigen?

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

    <html><head><title>Vollmacht</title></head>
    [...]
    EOP

    (Wobei der Header besser als print header; ausgegeben wird, sowie Du CGI.pm verwendest.)

    Cheatah

    1. Moins!

      folgendes Script verweigert beständig die Arbeit und ich kann mir nicht erklaeren warum...  (nein, am ascii-mode liegts nicht.. :))

      was heißt "verweigert die Arbeit"? Was steht im Errorlog? Was gibt Dir...

      use CGI::Carp qw(fatalsToBrowser);
      ...auf den Bildschirm?

      error due copilation...

      read(STDIN, $Daten, $ENV{'CONTENT_LENGTH'});
      Warum läßt Du das nicht von CGI.pm erledigen (s. perldoc CGI)?

      Zugegebenermassen stehe ichg erst am Anfang von Perl und bring es mir selbst bei. mit cgi.pm hab ich mich noch nicht beschaeftigt.

      print "Content-type: text/html\n\n";
      print "<html><head><title>Vollmacht</title></head>\n";
      [...]

      Warum läßt Du Deine vielen prints nicht von einem HERE-Dokument erledigen?

      Sorry, aber was ist das ?

      denn bis dann,

      Kurti

      1. Hi,

        was heißt "verweigert die Arbeit"? Was steht im Errorlog? Was gibt Dir...

        use CGI::Carp qw(fatalsToBrowser);
        ...auf den Bildschirm?
        error due copilation...

        was sagt perl -c script.pl?

        Warum läßt Du Deine vielen prints nicht von einem HERE-Dokument erledigen?
        Sorry, aber was ist das ?

        Beispiel folgte in meiner letzten Antwort.

        Cheatah