Lev Benenson: Matching Operator (Perl sucht nicht die spitzen Klammern)

Beitrag lesen

Hi, Klaus,

$pfad1 ="c:\test\doz.html";
       open(DATEI1, "$pfad1");
       @inhalt1 = <DATEI1>;
       $pfad2 ="c:\test\doz.txt";
       open (DATEI2, ">$pfad2");
       foreach $zeile1 (@inhalt1){
       chomp $zeile1;
       }
       print DATEI2 "@inhalt1\n";
       close DATEI2;
Du hast hier den inhalt von "doz.html" nach "doz.txt" kopiert und dann noch ein "\n" dazugegeben,
sonst sind die Dateien identisch, weil in der foreach-Schleife ja am inhalt von @inhalt1 nichts verändert wurde.

Ja, das war mein Ziel. Die Dateien "doz.html" und "doz.txt" sind inhaltlich identisch, aber doz.txt besteht
aus nur eine Zeile und ich dachte, dass in eine Zeile leichter in meinem Fall zu matchen, weil, wie
Du erinnern kanst, muss ich sonst fuer das assoziatives Arrey VALUE von drei Zeilen in doz.html
"zusammenkleben", und das ist viel komplizierter (nach meine Meinung).
Zur Erinnerung.  doz.html sieht so aus:
....
<tr>
<td>HERZ</td>                                  <!-- kuenftiger KEY in assoziativen Arrey -->
<td>Dipl.-Ing. Ronald Herzer</td>        <!-- kuenftiger 1.Teil von VALUE in assoziativen Arrey-->
<td>FbB</td>                                    <!-- kuenftiger 2.Teil von VALUE in assoziativen Arrey-->
<td>tätig für FbB/AR</td>  <!-- kuenftiger 3.Teil von VALUE in assoziativen Arrey-->
</tr>
....u.s.w.

Hier liegt wirklich eine zu restriktive REGEX Deinem Problem zugrunde.
Eine REGEX versucht in erster Linie, ein gültiges Matching zu erreichen. Bei Dir kann's Deinem Beispiel zufolge schon allein deshalb nicht funktionieren,
weil zwischen erster und zweiter Spalte ein Kommentar eingfügt ist, welcher durch die Regex nicht aufgelöst werden kann
wie siehts mit Attributen aus usw. ziemlich heavy, sag ich Dir.

Natuerlich steht in meinem originellen Perlscript in diesem Teil des Programs kein Kommentar. Der Kommentar habe ich nur fuer
die Leser eingefuegt. Trotzdem geht es nicht.

Vielleicht probierst Du einmal ein Perl-Modul aus, welches Dir vielleicht helfen kann. HTML-Tree z.B.
XML-Module könnten vielleicht auch helfen, ist nur so eine Idee.

Leider habe ich mit den Modulen noch nie gearbeitet.

Entschuldigen fuer eventuell viele Fehler. Ich bin Ausländer.

MfG, Lev Benenson