Letty: print text html neue methode gesucht

Hallo,

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

Ist ja veraltet.

Vieleicht wisst Ihr wo ich die neue Methode finde?

MFG
Letty

  1. hi,

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

    Ist ja veraltet.

    Hehe, was heißt hier veraltet ;)

    Der Content-Type ist der minimalste ResponseHeader, den ein Webserver von einem Perl/CGI-Script erwartet, gefolgt von einer Leerzeile. Sofern der Content-Type in der Serverconfiguration feststeht, reicht es sogar, lediglich eine Leerzeile zu schicken ("\n\n").

    Zu Deiner, so wie ich denke, eigentlichen Frage, lege ich Dir das Modul HTTP::Headers ans Herz.

    Hotti

  2. gudn tach!

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

    Ist ja veraltet.

    Vieleicht wisst Ihr wo ich die neue Methode finde?

    da gibt es viele moeglichkeiten, das nicht von hand schreiben zu muessen. eine ist
      ~~~perl use CGI;
      use CGI::Carp qw(fatalsToBrowser);
      my $q = new CGI;
      print $q->header();

    siehe <http://search.cpan.org/perldoc?CGI>  
      
    es waere aber hilfreicher, wenn du genauer sagst, was du moechtest, und dabei auch etwas ueber den kontext erzaehlst. dann wuerdest du vermutlich auch bessere antworten bekommen.  
      
    prost  
    seth
    
  3. Das nennt sich Web-Frameworks, z.B. http://catalystframework.org, http://perldancer.org oder http://mojolicio.us. Die zwei anderen Antwortenden wissen nicht/haben nicht gesagt, dass CGI überholt ist, man setzt stattdessen Plack ein.

    Dein Beispiel würde so aussehen:

        my $app = sub {  
            return [200, ["Content-Type" => "text/html;charset=UTF-8"], ["Hallo Welt!"]]  
        };  
    
    
    1. Hallo CPAN;

      Vielen Dank für Eure Hilfe für dieses Modul,
      und befürchte das ich mit der http Lösung zu voreilig war und erteinmal mein Problem schildern sollte:

      Habe folgendes Problem:

      In MIME Lite werden vom Formular Umlaute nicht mehr richtig übetragen.

      Bei open Suse ging es, jetzt wo ich ubuntu aufgespielt habe sehen Umlaute so in der Email plötzlich so aus: öÀÌ im

      $TXT=$TXT. "$textmitumlaut\n\n";}

      In der Anweisung gibt es den Code

      $part = MIME::Lite->new(
                       Type     =>'text/html',
                       Data     =>'<H1>Hello</H1>',
                       );
          $part->attr('content-type.charset' => 'UTF8');
          $part->add('X-Comment' => 'A message for you');
          $msg->attach($part);

      Ich suche eine Lösung den UTF8 in folgenden Code einzubauen:

      $MIMEservice2 = MIME::Lite->new(
       From => $email ,
       To =>$Email, Subject =>$emailsubjekt,
       Type => 'text/plain', Encoding => 'quoted-printable',
       Data => $TXT
       );

      Vieleicht kennt Ihr die Lösung oder eine Informationsquelle?

      MFG
      Letty

      1. MIME::Lite ist fehlerbehaftet beim Versenden vom Emails (im Fehlerfall gehen Emails verloren, ohne dass du jemals davon erfährst, siehe Selfforum-Archiv) und wird nicht mehr weiterentwickelt. Setze stattdessen Courriel::Builder zum Erstellen von Emails und Email::Sender zum Versenden ein.

        Dein Encodingproblem kann so nicht gelöst werden; du musst den ganzen Code und das Webformular herzeigen sowie den Inhalt von $textmitumlaut ausgeben und mitteilen, damit das Problem nachgestellt werden kann. (Lies http://www.chiark.greenend.org.uk/~sgtatham/bugs-de.html#showmehow, wenn du nicht weißt, warum Helfer beim Programmieren verlangen, das Problem nachzustellen.) Hole den Inhalt von $textmitumlaut mittels Devel::Peek::Dump().