Oliver: CSS Datei in von Perl erzeugtes HTML einfügen; Problem: Netscape

Hallo und guten Abend,
ein Problem schickt sich an, mir den Feierabend zu verderben: Per Perl erzeuge ich eine HTML-Seite, in der auf eine CSS verwiesen wird. IE5 setzt sowohl

<link rel=stylesheet type="text/css" href="styles.css">

als auch

start_html(-title=>'Ihre Bestellung',-style=>{'src'=>'styles.css'})

korrket um. Netscape unter OMNIHTTPD zeigt lediglich eine CGI Fehler an.

Hat jemand schon mal ähnliche Probleme gehabt? Möglicherweise sogar eine Lösung gefunden?
Wäre sehr dankbar für Feedback!

Gruss

Oliver

  1. Hallo,

    Zeig mir mal ein Teil des Scriptes, in dem der Fehler passiert

    Mfg Thomas

    1. Hier nochmal das ganze Script, vielleicht sieht einer ja mehr als ich...

      #!/usr/bin/perl -w

      #Importanweisungen

      use CGI qw/:standard/;      
         use Mail::Mailer;

      #Parameterübergabe
        
         @bestellte_artikel = param('artikel');
      $vorname = param('vorname');          
              $zuname = param('zuname');
              $strasse = param('strasse');
              $ort = param('ort');

      #HTML-Seiten-Ausgabe  
              
        print header,                  
               start_html(-title=>'Ihre Bestellung',-style=>{'src'=>'../styles.css'}), #bei ms möglich, bei netscape nicht!                                      
                                
               print h1({-class=>'texthead'}, 'Ihre Bestellung');        
              
               print p({-class=>'text'}, "Vielen Dank, $vorname $zuname, für die Bestellung der folgenden Artikel. <br>");                        
              
               print "<table border = '1'>";
              
               $summe=0.000;
               $separator = "\n";
               foreach $i (@bestellte_artikel){
                @artikel_und_preis = split (/_/, $i);                
                print "<tr><td class = 'text'>", $artikel_und_preis[0], "</td><td align = 'right'>", $artikel_und_preis[1], "</td></tr>";                  
                @preis_DM = split (/ /, $artikel_und_preis[1]);
                
                $summe = $summe + $preis_DM[0];
                $content = join("", "$artikel_und_preis[0] ($artikel_und_preis[1])", $separator, $content );#Bestellungsliste für sendmail aufbauen                        
               }                      
        print "<tr><td> Gesamtbetrag:</td><td align = 'right'>";
                
         print $summe;
        
         if ($summe =~ /./){   #Formatieren der Summe
          print "0 DM</td></tr>";                  
         }else{
          print ".00 DM</td></tr>";
         }
        
      print "</table>";
      print p("Wir werden Ihre Einkäufe an folgende Adresse verschicken:");
      print p("$vorname $zuname<br>$strasse<br>$ort<br>");
      print end_html();

      #Infos für Sendmail zusammenstellen

      $betreff = "Bestellung von $vorname $zuname";

      $opener = "---------------\nFolgende Bestellung ist eingegangen:\n";
      $besteller ="---------------\n\n$vorname $zuname\n$strasse\n$ort\n\n---------------\n\n";

      if ($summe =~ /./){     #Formatieren der Endsumme für sendmail
          $ergaenzung = "0 DM";        
         }else{
          $ergaenzung = ".00 DM";      
         }
                            
      $summe = join("",$summe, $ergaenzung);

      $summe = "\n---------------\nGesamtsumme: $summe\n---------------\n";

      $content = join($header, $opener, $besteller, $content, $summe);

      #sendmail aufrufen; Empfänger beim MVV muß noch eingefügt werden; checken ob sendmail überhaupt vorhanden ist; bei NT eventuell einen Klon installieren!

      $ab = 'ShopFormular'; #Gewünschte Absenderbezeichnung eingeben
      $em = 'oliver.huber@stud.uni-muenchen.de'; #Gewünschten Empfänger eingeben

      mehlen($ab, $em, $betreff, $content);

      #test simuliert sendmail-ausgabe	  
      #open(TEST, ">test.txt");  
        
      #print TEST $content;  
      #test ende  
      

      #Unterprogramm zum Aufruf von Sendmail (verlangt package MailTools!)
              
      sub mehlen{

      my $absender = $_[0]; #@ quoten!
        my $empfaenger =  $_[1]; #@ quoten!
        my $betreff = $_[2];
        my $rumpf = $_[3];

      my $mailer = Mail::Mailer->new("sendmail");

      $mailer->open({ From => $absender,
          To => $empfaenger,
          Subject => $betreff,
        })
          or die "Kann nicht oeffnen: $!\n";
        print $mailer $rumpf;
        $mailer->close;
      }      
      ##########################################################################################################################################################

      1. Hallo, einen Fehler hats zumindest...

        print header,                  
                 start_html(-title=>'Ihre Bestellung',-style=>{'src'=>'../styles.css'}),

        ^ muss ein ";" sein weil Liste zuende

        und die nächste Zeile mit print weitergeht.

        Viele Grüße, Rolf

        PS: Zischhhhhhhhh.....

  2. Hallo,

    Hallo und guten Abend,
    ein Problem schickt sich an, mir den Feierabend zu verderben: Per Perl erzeuge ich eine HTML-Seite, in der auf eine CSS verwiesen wird. IE5 setzt sowohl

    <link rel=stylesheet type="text/css" href="styles.css">

    als auch

    start_html(-title=>'Ihre Bestellung',-style=>{'src'=>'styles.css'})

    Syntax ist ok!

    korrket um. Netscape unter OMNIHTTPD zeigt lediglich eine CGI Fehler an.

    Schätze, das P liegt irgendwo anders weiter unten: schließendes Tag vergessen oder so... wie lautet denn die FM?

    Viele Grüße, Rolf