itz: Zeilenumbruch im erzeugten html Code?! Warum?!

Hallo Forum,
verdammt jetzt ist es so weit ... das erste mal dass mir die Suchfunktion nicht weiter hilft. Hat wohl damit zu tun dass mir so viele Suchbegriffe einfallen?!
Nun gut es geht um folgendes Problem:

Ich erzeuge mittels Perl Html-Code, unteranderem auch mit Daten die aus einer *.txt Datei ausgelesen werden.
Die Textdatei-Daten (.. ich weiss was wann wo kommt!) spreche ich mit $daten[0-...] an. Und weil es vor $daten[0-...] noch ein "d" braucht, heisst es bei mir 'my $dpic = "d".$daten[1];' (mal so als Beispiel wäre das jetzt 'dabc123').

Hab das ganze jetzt mal zusammen gezogen und da lautet es:

my $adpic = "<a href="detail.pl?".$dpic."" target="_blank" onClick="Detail("".$dpic."");return false">";

und als Ausgabe :

print "$adpic\n";

Alles wunderbar und toll ... nur leider sieht mein Quelltext dann "hinter" den Browsern so aus:

<a href="detail.pl?dabc123
" target="_blank" onClick="Detail("dabc123
");return false">

In der Statuszeile bekomme ich es richtig angezeigt .. nur um ein js script anzustossen langt es leider nicht :-(

Auf dass mir jemand erklären kann wo die ganzen Zeilenumbrüche herkommen und wie ich sie wieder kille :-)

Vielen Dank im vorraus und einen schönen Abend noch.

Cheers Itz

  1. Hallo Itz,

    my $adpic = "<a href="detail.pl?".$dpic."" target="_blank"

    warum verwendest du nicht einfache Anführungszeichen, dann brauchst du die Doppelten in dem String nicht maskieren

    onClick="Detail("".$dpic."");return false">";

    das kann nicht funktionieren - der Wert des onclick-Eventhandlers ist nach 'Detail(' zu Ende - um $dpic müssen einfache Anführungszeichen.

    Auf dass mir jemand erklären kann wo die ganzen Zeilenumbrüche herkommen

    ich tippe mal, dass sind die Zeilenumbrüche aus der Datei ...

    und wie ich sie wieder kille :-)

    ich habe von Perl so gut wie keine Ahnung, aber ich würde mal versuchen mit chomp die Zeilenumbrüche zu entfernen.

    Grüße aus Nürnberg
    Tobias

    --
    Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|
    1. Hallo Itz,

      Hi Tobias,
      .. puh das geht ja schnell hier :-)

      warum verwendest du nicht einfache Anführungszeichen, dann brauchst du die Doppelten in dem String nicht maskieren

      .. und wieder was gelernt.

      das kann nicht funktionieren - der Wert des onclick-Eventhandlers ist nach 'Detail(' zu Ende - um $dpic müssen einfache Anführungszeichen.

      .. ist wohl im eifer des Gefechts reingerutscht?! Wenn ich den Quellcode von Zeilenbrüchen befreie, funktioniert es auf jeden Fall.

      ich tippe mal, dass sind die Zeilenumbrüche aus der Datei ...

      Da bin ich gerade am suchen, weiss nur nicht ob ich meinem Cursor im Editor vertrauen kann ... der sag nämlich:"es sieht gut aus" (so weit ich das beurteilen kann).

      ich habe von Perl so gut wie keine Ahnung, aber ich würde mal versuchen mit chomp die Zeilenumbrüche zu entfernen.

      ja mei ... ich hab gar keine Ahnung ;-) und probiere das mit chomp gleich mal aus!

      Grüße aus Nürnberg
      Tobias

      Vielen Dank! Und Grüße nach Nürnberg
      Itz

  2. hi,

    grundsätzlich ist das kein CGI Thema.

    Aber so wie's aussieht ist dem Dateinamen jeweils ein Zeilenumbruch angehängt.

    Gruss, Rolf

    --
    SELFforum - Das Tor zur Welt!
    Theoretiker: Wie kommt das Kupfer in die Leitung?
    Praktiker: Wie kommt der Strom in die Leitung?
    1. hi,

      Hi Rolf,
      sorry, dein posting hab ich vor hin wohl übersehen!

      grundsätzlich ist das kein CGI Thema.

      Da gehe ich mittlerweile von aus, oder besteht die Möglichkeit dass ich mir "das", von den Daten der *.txt mal abgesehen, beim Daten auslesen an die Skalare dran hänge?!

      Aber so wie's aussieht ist dem Dateinamen jeweils ein Zeilenumbruch angehängt.

      Stimmet, hab mal mit "/\s/" gesucht und gefunden ... und morgen such ich wie ichs weg bekomme ;-)

      Gruss, Rolf

      Auch Dir Danke und gutes Nächtle

      Gruß Itz

      1. hi,

        Aber so wie's aussieht ist dem Dateinamen jeweils ein Zeilenumbruch angehängt.

        Interessant wäre mal zu wissen wie du die Dateiliste erzeugst ;-)

        Stimmet, hab mal mit "/\s/" gesucht und gefunden ... und morgen such ich wie ichs weg bekomme ;-)

        Nana, warum bis morgen damit warten ;-)

        So wie ich's gesehen habe hast du PERL.... und eine Liste der Dateien auf einem array.

        Versuche einfach mal diese Zeile:
        map{ chomp } @dateiliste;

        --das nimmt an jedem Dateinamen den Zeilenumbruch wech. Anstatt map() kannst du auch eine Schleife bauen, das ist vielleicht durchschaubarer.

        Gruss, Rolf

        --
        SELFforum - Das Tor zur Welt!
        Theoretiker: Wie kommt das Kupfer in die Leitung?
        Praktiker: Wie kommt der Strom in die Leitung?
        1. hi,

          Moien Moien,

          Interessant wäre mal zu wissen wie du die Dateiliste erzeugst ;-)

          Im Moment, also zum Testen mit dem rechten und linken Zeigefinger auf dem Editor ;-)

          Nana, warum bis morgen damit warten ;-)

          Weil, mittlerweile ja schon, heute ein guter Tag ist .. und ich gestern die Nase voll hatte.

          Versuche einfach mal diese Zeile:
          map{ chomp } @dateiliste;

          Hab ich hab ich, nur jing nich so richtig, da war wohl einiges mehr am Start als nur "\n" ...

          --das nimmt an jedem Dateinamen den Zeilenumbruch wech. Anstatt map() kannst du auch eine Schleife bauen, das ist vielleicht durchschaubarer.

          ne ne map passt schon vom Verständnis her ;-)

          War wohl ein wenig naiv und dachte es geht ohne ein "Abschlusszeichen" in der .txt ( .. tsts wahrscheinlich schon wieder naiv, könnte mir denken es geht bestimmt "irgendwie" ;-) ). Nun gut aufjeden Fall steht da nun ein Semikolon und über subst tut's was es soll :-)

          Gruss, Rolf

          Gruß zurück!
          Und allen noch mal Danke schön!

          Cheers der Itz