xNeTworKx: Ich versteh dieses EOF nicht ganz ?

Hallo,
ich hab gestern schon in einem anderen Forum gepostet über mein Problem, daß ich HTML Code so in den Perl Code schreiben will.
In Perdoc Perldata steht man müsse am Anfang print<<"EOF"; oder print<<EOF; verwenden und am Schluss einfach EOF;
Dazwischen schreib ich eben den HTML Code.
Ich bekomme bei debuggen aber immer die Meldung :
Cant find string terminator "EOF" anywhere before EOF
Muss ich da eigentlich auf etwas besonderes 8 geben, was ich vielleicht nicht weis ?

  1. ich habe das immer wievolgt gemacht:

    print<<HTML;
    <html>
       ....
    </html>
    HTML;

    wichtig ist, dass HTML; am zeilenanfang steht, es darf kein anderes zeichen davorstehen

    mfg philipp

    1. Joho,

      ich habe das immer wievolgt gemacht:

      Das glaube ich nicht.

      print<<HTML;
      <html>
         ....
      </html>
      HTML;

      print <<HTML;
      <html>
       ...
      </html>
      HTML

      wichtig ist, dass HTML; am zeilenanfang steht, es darf kein anderes zeichen
      davorstehen

      Stimmt. Ausserdem wichtig ist, dass nach dem abschliessenden String-Terminator
      ein \n folgt - also eine Leerzeile.

      Gruss,
       CK

      1. Joho,

        ich habe das immer wievolgt gemacht:

        Das glaube ich nicht.

        print<<HTML;
        <html>
           ....
        </html>
        HTML;

        print <<HTML;
        <html>
        ...
        </html>
        HTML

        also ich habe es immer ohne blank vor dem << gemacht und es ging. ; am ende weg, klar hatte ich aus versehen (bin es immer so von php gewohnt) gemacht.

        wichtig ist, dass HTML; am zeilenanfang steht, es darf kein anderes zeichen
        davorstehen

        Stimmt. Ausserdem wichtig ist, dass nach dem abschliessenden String-Terminator
        ein \n folgt - also eine Leerzeile.

        Ok stimmt auch

    2. Hallo,
      also ich habs jetzt nochmals probiert, so wie du es vorgeschlagen hast, aber ich bekomm immer noch die Meldung :
      Cant find string terminator "HTML" anywhere before EOF at datei.cgi line 36 =(
      Ich glaube ich werd den Code jetzt Perl formatieren=(

  2. Mach das immer mit:

    print HTML qq|
    Dann die Inhalte
    bis der Arzt kommt
    und abschliessen mit
    |;
    close(HTML);

    Musst nur bei email-Adressen mit Backslash arbeiten (@)
    Gruss, itsme

    1. Moin!

      print HTML qq|
      Dann die Inhalte
      bis der Arzt kommt
      und abschliessen mit
      |;
      close(HTML);

      Yupp, ich bevorzuge auch diese Variante. Du solltest Nur dazusagen, dass man das | Zeichen selbst mit \ maskieren muss. Oder, falls sehr viele dieser Zeichen im Text vorkommen, waehlt man eben ein anderes Begrenzungszeichen, z.B.
      print qq~
      laber || tratsch
      ~;

      Musst nur bei email-Adressen mit Backslash arbeiten (@)

      Genauso, wie Du auch $ maskieren musst. Wenn Du allerdings statt qq nur q verwendest, faellt das Problem weg. Allerdings werden dann eben auch keine Variablen mehr im Text aufgeloest.
      print q| laber @tratsch|;

      So long

      1. Jou
        hast natürlich recht,
        aber hätt ich das geschrieben,
        hättst Du ja nix mehr schreiben können ;o)

        Erklärste mir den Unterschied
        zwischen qq und q ...

        Kenn ich nämlich nicht
        Gruss, Achim

        1. Re!

          hast natürlich recht,
          aber hätt ich das geschrieben,
          hättst Du ja nix mehr schreiben können ;o)

          Ja, das waere wirklich tragisch gewesen. *g*

          Erklärste mir den Unterschied
          zwischen qq und q ...

          Naja, eben dass Variablen bei dem einen aufgeloest werden und bei dem anderen nicht. (Das @ leitet ja eine Array-Variable ein.) Es ist derselbe Unterschied wie zwischen " (double quotes) und ' (single quotes). Ich meine, es ist nicht nur so aehnlich wie dort, sondern das sind genau dieselben Dinge, also " ist dasselbe wie qq und q und ' ist auch dasselbe. Du koenntest also auch schreiben
          print 'laber tratsch
          @email
          blubb blubb
          ';
          Ja, geht auch ueber mehrere Zeilen.
          Siehe auch perldoc perlop Abschnitt "Quote and Quote-like Operators".

          So long

        2. hi!

          Erklärste mir den Unterschied
          zwischen qq und q ...

          Schafft ihr's alle nicht, in SELFHTML nachzulesen? Muss ja verdammt
          schwierig sein, mal selber nach einer Lösung zu suchen...

          http://selfhtml.teamone.de/cgiperl/sprache/zeichenketten.htm#regeln

          bye, Frank!

          1. Huhu!

            Schafft ihr's alle nicht, in SELFHTML nachzulesen? Muss ja verdammt
            schwierig sein, mal selber nach einer Lösung zu suchen...
            http://selfhtml.teamone.de/cgiperl/sprache/zeichenketten.htm#regeln

            Ach, das steht jetzt in SelfHTML? Ja, ich geb's zu, ich hab's auch noch nicht gelesen. ;-)

            So long

    2. hallo itsme,

      wollte da jemand nicht seinen nick ändern? *fg*

      grüße
      thomas

      1. Moin Thomas,
        mir hat ein weiser Mann dazu gesagt:

        "Es gibt nur eine Sache, die man muss,
        alles andere tut man freiwillig ..." (sinngemäss)

        Achim ist (wie so oft) schon vergeben (z.B. im Chat)
        Mit Nachname ist mir das zu lang zum Schreiben.
        itsme krieg ich schnell geschrieben.
        Bei 5 Zeichen sind wenig bytes zu übertragen
        Mit itsme poste ich auch an anderen Stellen.

        Also, warum nicht ?!
        Der Mensch dahinter ist immer derselbe.

        Hab noch kein PW zum selfbrowser-DL gekriegt
        (mit dem das ja alles komfortabler gehen soll)
        Dann würd ich vielleicht auch noch meinen 2. Vornamen reinnehmen
        Muss ich das persönlich nehmen, daß ich nix kriege, oder
        liegt das am "kurz vor Vollendung Status" des Browsers?

        Grüss Dich, Achim/itsme (zum Aussuchen)

        1. Hallo Achim

          mir hat ein weiser Mann dazu gesagt:

          "Es gibt nur eine Sache, die man muss,
          alles andere tut man freiwillig ..." (sinngemäss)

          *lol* und du hast ihm geglaubt?!? *fg*

          (ich sehen jetzt diesen weisen mann: der kramt gerede sein tagebuch heruas, um den tag zu notieren, an dem jemand ihn etwas geglaubt hat ;-) )

          Muss ich das persönlich nehmen, daß ich nix kriege, oder
          liegt das am "kurz vor Vollendung Status" des Browsers?

          keine ahnung. das ist der resort vom anderen Thomas (Mell) ;-)

          grüße
          thomas