reinim: Konvertierung von Unicode-Notation in das Zeichen selbst

Hallo,

ich habe hier ein Textfile, in dem alle Nicht-ASCII Zeichen in der HTML-Unicode Notation vorhanden sind: z.B: "Länder" = "Länder".

Ich hätte diesen Text mit gerne mit PERL bearbeitet, ohne für jedes einzelne Nicht-ASCII Zeichen eine Search/Replace RegEx anzuwenden.

Gibts dazu ein decoding/encoding Modul, das dies erledigt. Mit Modul "Encode" kann ich bereits wunderbar UTF-8 und Windows-1252 ineinander konvertieren, aber diese Umwandlung dürfte es nicht beherrschen...

  1. Hallo,

    Hier ist Christian, ich hab da was probiert, wirfst mal Blitzblick bitte? Also versprich Dir nicht zuviel davon:

    ich habe hier ein Textfile, in dem alle Nicht-ASCII Zeichen in der HTML-Unicode Notation vorhanden sind: z.B: "Länder" = "Länder".

    Ich hätte diesen Text mit gerne mit PERL bearbeitet, ohne für jedes einzelne Nicht-ASCII Zeichen eine Search/Replace RegEx anzuwenden.

    Evtl.kannst du aber genau 1 REGEX-Maschine für den ganzen Textblock anwenden???

    ;-))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))

    $gesamter_txt =~ s/such_danach/ersetz_damit/gsm;

    Im folgenden die "_"s wegdenken, nur der Überscht wg. seien sie gestattet:

    such_danach   = &{1,1}#{1,1}_______(([0-9]){1,3}?)________;{1,1})

    Leider ist ersetz_damit nicht $1, sondern eine Funktion von $1, shit.    ;-(((

    $1 ist also jetzt das was in der Rundklammer steht.oO?
    Also jetzt bzgl "Länder" z.B.:: $geparster Zahlenstring = $1; (Genau: 228! ;-)

    Obiges /gsm, und das Ding ist superschnell komplett fertig. mit allen Zeilen.
    Also ohne Schleife drumherum. Könnte noch was fehlen..., also das, was man macht, um eine Datei nicht zeilenweise, sondern als Riesenhaps zu fresen...,
    egal, Kleinigkeit, evtl später...

    trotzden, bevor ichs wieder vergess:
    Packs zu Sicherheit aber, später, alles in eine while-Schleife: while!(unauffindbar){ doit}, so, aber jetzt wurscht.

    Fertig? Nein ;-(.

    Also dieses "228" noch mappen auf was? ascii? iso8859-1? Egal, auch später, zunächst folgendes:

    Als Ersetz-Ausdruck ist $1 bisher ungenügend, es muß eine Funktion von $1 sein.
    Also eine sub{}; Du kanst innerhalb regulärer Ausdrücke Funktionen aufrufen.
    Definiere diese Funktion ca. so:

    local *deine_map_Funktion=sub{
      kriegt später z.B. jenes "228" übergeben
      mach irgendwas mit "228"
      return diesen_neuen_Wert
    } ; (Nicht zu vergessen das Semicolon hier! )

    Du kannst damit dann: s/ genau_wie_oben / deine_map_Function( $1 )/gsm;

    Aber was kommt in diesen Funktionsrumpf? Und gibts da nichts Einfachres im Ansatz? Also bevor ich weitermache, mal abschicken .oO, ok, weg! Lass' Ich mich mal belehren? HALLO?

    Wirst Du noch schlau dadraus? Stöhn. Ich hab mich verrannt im Tunnel. Wo ist Licht? Es darf nicht wahrsein.
    Irgendein neuer Super-Switch..., und bei den runden Klammern?...also: WEG, Bitteschön! Viellicht Müll, aber es ist gut gemeint jedenfalls. Um Gottes Willen...vieleicht das REGEX-COMMON-Modul, und Du brauchtest nur noch den Hinweis auf gsm...

    1. Hallo Christian!

      Sag mal, wer hat Dich hier abgeschossen? Die Russen? Die Amis?

      ;-))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))

      In meinem Gästebuch wärst Du damit schon gesperrt gewesen.

      $gesamter_txt =~ s/such_danach/ersetz_damit/gsm;

      Toller Einfall... Du weißt, wie eine Substitution funktioniert!

      Im folgenden die "_"s wegdenken, nur der Überscht wg. seien sie gestattet:

      Kann man Dich auch wegdenken? Was Du von Dir abgibst, seit Du hier her abgefallschirmt wurdest, ist nur Sch...rott in einem löchrigen Seidenstrumpf.[1]

      Napoléon zu Talleyrand: "Vous n'êtes qu'une merde dans un bas de soie".

      Leider ist ersetz_damit nicht $1, sondern eine Funktion von $1, shit.    ;-(((

      Toll... wer soll damit was anfangen?

      $1 ist und hat keine Funktion.

      Obiges /gsm, und das Ding ist superschnell komplett fertig. mit allen Zeilen.
      Also ohne Schleife drumherum. Könnte noch was fehlen..., also das, was man macht, um eine Datei nicht zeilenweise, sondern als Riesenhaps zu fresen...,

      superschnell, könnte, würde, ríesenhaps...

      Das ist nicht der Stil der Anworten, die wir uns hier wünschen.

      Den Rest zu kommentieren, erspare ich mir.

      Ich habe keinen Schimmer davon, was die anderen denken, sowohl die Leser als auch die Moderatorenkollegen.

      In meinen Augen bist Du ein absoluter Idiot. Und ich habe keine Hemmungen, das als Moderator zu unterschreiben.

      Viele Grüße aus Frankfurt/Main,
      Patrick

      --

      _ - jenseits vom delirium - _
      [link:hatehtehpehdoppelpunktslashslashwehwehwehpunktatomicminuseggspunktcomslash]
      Nichts ist unmöglich? Doch!
      Heute schon gegökt?
      1. Gähn, ja? Huch, krieg?

        Also danke daß du meinem Wunsch entsprechend den Doppelbeitrag gelöscht hast.

        Und: Mach's  besser. Bin ja mal gespannt.

        ;-)Christian

      2. Viele Grüße aus Frankfurt/Main,
        Patrick

        Danke, alle zurück;-) Die Löschung genauso wie ich sie mir gewünscht hatte, gut ;-).
        Und sehenswert wäre Deine Lösung ja dann hier auch mal, oder?
        Also von mir aus keine Störung zu erwarten, bin jetzt ca. 1 Woche weg.
        Schade ;-(

        Also ich saß an was ähnlichem mal 3 Tage. Die Zeit wirst Du wohl nicht aufbringen wollen, um mir jetzt notfalls etwas beweisen zu wollen. Oder hast Du eine schnelle Lösung jetzt...... ;-)?

        Ein Freundlicher Gruß!
        -Christian-

        1. Hallo Christian!

          Gähn, ja? Huch, krieg?

          Keineswegs.

          Also danke daß du meinem Wunsch entsprechend den Doppelbeitrag gelöscht hast.

          Bitte sehr, Du hast darum gebeten.

          Und: Mach's  besser. Bin ja mal gespannt.

          Es ging hier nicht darum, wie ich das machen würde, und auch nicht darum, (D)eine Lösung zu kritisieren (so eine in Deinem Posting zwischen all dem nutzlosen Gelabber zu erkennen wäre), sondern einzig und allein um eben dieses Gelabber.

          Jeder hat einen eigenen Schreibstil und das ist auch gut so. Jeder macht auf seine Art mehr oder weniger witzige Bemerkungen, Witze oder Kalauer und das ist auch gut so. Deine Beiträge jedoch sind sehr irritierend zu lesen, es ist einfach zuviel des Schlechten. Und Deine Antwort an reinim schießt den Vogel ab: Wie soll man erraten, was davon Gelabber ist, was davon technische Antwort ist?

          Auch diese zweite Antwort an mir ist so:

          Danke, alle zurück;-)

          Danke wofür? »alle zurück«... was?

          Die Löschung genauso wie ich sie mir gewünscht hatte, gut ;-).

          Es war ja doppelt gepostet, so hat es zumindest ausgesehen, und Du hast darum gebeten - sagte ich schon.

          Und sehenswert wäre Deine Lösung ja dann hier auch mal, oder?
          Also ich saß an was ähnlichem mal 3 Tage. Die Zeit wirst Du wohl nicht aufbringen wollen, um mir jetzt notfalls etwas beweisen zu wollen. Oder hast Du eine schnelle Lösung jetzt...... ;-)?

          Wie gesagt, es ging nicht darum, Lösungsansätze zu kritisieren oder eine Lösung von mir als die bessere vorzustellen, ich habe mich mit dem Inhalt nicht beschäftigen, sondern nur Deinen Stil kritisieren wollen (ellenlanges, nerviges, schlecht lesbares Gelabber, das sich um zwei oder drei Zeilen Lösung herum breit macht).

          Also von mir aus keine Störung zu erwarten, bin jetzt ca. 1 Woche weg.

          Falls Urlaub, genieß es und komm mit aufgeräumten Kopf zurück. Vielleicht sind Deine Postings danach lesbarer ;)

          Ein Freundlicher Gruß!

          Viele Grüße aus Frankfurt/Main,
          Patrick

          --

          _ - jenseits vom delirium - _
          [link:hatehtehpehdoppelpunktslashslashwehwehwehpunktatomicminuseggspunktcomslash]
          Nichts ist unmöglich? Doch!
          Heute schon gegökt?
  2. Gibts dazu ein decoding/encoding Modul, das dies erledigt. Mit Modul "Encode" kann ich bereits wunderbar UTF-8 und Windows-1252 ineinander konvertieren, aber diese Umwandlung dürfte es nicht beherrschen...

    Schau Dir HTML::Entities::Numbered mal an.

    Siechfred

    --
    Hinter den Kulissen passiert viel mehr, als man denkt, aber meistens nicht das, was man denkt.