Marcus Vieß: txt datei auslesen und marken benutzten.

Ich habe ein kleines Script gefummelt welches mir helfen soll eine DVD Horrorfilmreview Seite aufzubauen.

Das Script soll aus einer .txt datei bestimmte Marken finden und diese dann in einen forgefertigtes Template schreiben. Ich zeige besser mal.

open(INFO, '$filename0$endung') or die '\nKonnte Datei $file nicht zum Lesen öffnen\n';
@lines = <INFO>;# in Array einlesen
close(INFO);# File schliessen

die .txt Datei sieht z.B. folgendermaßen aus (incl. Returns etc)

FILM
Film ist ganz gut<br>
Aber zu langatmig.
FILM

BILD
Bild ist ganz ok.
BILD

jetzt soll mir das script die Sprungmarken finden und nur das ausgeben was in den Sprungmarken steht. Also so was wie :

print @lines >>FILM;

jetzt sollte nur alles innerhalb FILM zu sehen sein also:

Film ist ganz gut
Aber zu langatmig.

Klappt natürlich nicht, weil ich nicht weiß wie man das richtig macht. Vielleicht kann ja einer helfen.
Das mit den Marken soll so sein, damit auch andere User mir Reviews schreiben können. (Ist ja ziemlich einfach so wie es zu sehen ist)

  1. Hallöchen....

    Ich bin zwar nicht der große Perl-Kenner, aber ich glaube, dass Du gar keine Marken benötigst.

    Mit der folgenden Anweisung liest Du die Datei _zeilenweise_ in den Array "@lines" ein:

    @lines = <INFO>;# in Array einlesen

    Wenn Du Deine Daten nun folgenderweise aufbaust:

    Film ist ganz gut<br>Aber zu langatmig.
    Bild ist ganz ok.

    weisst Du genau, dass in $lines[0] "Film ist ganz gut<br>Aber zu langatmig." steht und in $lines[1] "Bild ist ganz ok.".

    Ich hoffe, dass meine gemachten Angaben richtig sind, probier´s einfach aus :-)

    Gruß,

    Holger

    1. DANKE !!!

      Manchmal hat man die lösung schon selbst gebaut und weiß es nicht ...
      Ist das Leben nicht toll :-)))

      1. Keine Ursache :-)

        Noch ein Tipp:

        Belege pro Rezensent EINE Zeile in deiner Textdatei und unterteile diese in mehrere Felder (Stichwort CSV-Datei).

        Das könnte dann folgenderweise aussehen:

        Name-Rezensent1;Meinung zum Film;Meinung zum Bild;.....
        Name-Rezensent2;Meinung zum Film;Meinung zum Bild;.....
        Name-Rezensent3;Meinung zum Film;Meinung zum Bild;.....

        Beim Einlesen der Datei kannst Du nun jede Zeile an Hand des Semikolons ";" SPLITten (Stichwort split() in SELFHTML).

        Das macht das Handling des ganzen ein wenig einfacher glaube ich...

        Beim Speichern der Datensätze darfst Du aber das "\n" am Ende nicht vergessen....

        Gruß,

        Holger