Stefan Bach: Es wird nur die erste Zeile einer Textdatei ausgelesen.

Beitrag lesen

Hallo,

unless(open(DATA, "<".$data_file))

unless(open(DATA, "<$data_file"))  # Auf den . kannst du verzichten

flock(DATA, 8);                    # Auf ein unlock vor dem close ebenfalls

Im Ergebnis sollten eigentlich im Array @lines sämtliche Zeilen der o.g. Textdatei stehen. Mit return gebe ich diesen Array zurück.

Sollten ist in obigem Satz fehl am Platz. Solche Sachen kannst du mit Data::Dumper überprüfen.

foreach(@beschluss)
  {
    my @this_line = split(/\§\§/, @beschluss[$n]);
    print "<p class='textbody'>Beschluss vom $this_line[0]<br>Thema: $this_line[1]</p>\n";
    print "<p class='textbody'>$this_line[2]</p>\n";
    $n++;
  }

Versuch es doch mal, indem du deine for Schleife so verwendest wie sie gedacht sit:

for (@beschluss) {
  my @this_line = split /\§\§/;
  print ...
}

Wenn du deine eigene $n Zählerei weglässt, dann hast du schon mal eine mögliche Fehlerquelle ausgescholossen.

Viele Grüße,

Stefan