Siechfred: Es wird nur die erste Zeile einer Textdatei ausgelesen.

Beitrag lesen

N'abend Forum,

ich habe eine kleine Textdatei mit folgendem Aufbau:

Z1: Datum1§§Thema1§§Inhalt
Z2: Datum2§§Thema1§§Inhalt
...

wobei "§§" der Separator ist.

Nun habe ich eine Subroutine, in welcher diese Datei ausgelesen wird:

sub get_data
{
  unless(open(DATA, "<".$data_file))
  {
    my $msg = "Beim &Ouml;ffnen der Datei ist folgender Fehler aufgetreten:<br>".$!;
    errorwin($msg);
  }
  flock(DATA, 1);
  my @lines = <DATA>;
  flock(DATA, 8);
  close(DATA);
  chomp(@lines);
  return @lines;
}

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

Nun sollen die Daten ausgegeben werden:

sub show_all
{
  my $n = 0;
  my @beschluss = get_data();
  print_header("Liste aller Beschlüsse seit dem 01.03.2002");
  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++;
  }
  print "</td></tr></table></body></html>\n";
}

Sieht auch ganz gut aus, wenn ich die Seite aber aufrufe, gibt das Script nur den Inhalt von @beschluss[0] aus, obwohl es insgesamt 27 sein müssten. Hat jemand eine Ahnung, woran das liegen könnte?

mfg Siech*ratlos*fred

--

ss:| zu:| ls:# fo:| de:[ va:| ch:? n4:& rl:? br:& js:| ie:% fl:( mo:}