Peter Kaufmann: Möglichkeiten bei der Namensgebung von Arrays

Beitrag lesen

Hallo Stefan,

$NewsAnzahl = @News;
$w = 6;
$x = 0;
@Artikel = ();
while($x <= $NewsAnzahl-1) {
  if($x == $w) {
    push (@Artikel, @Artikelteil);
    @Artikelteil = ();
    $w += 6;
  }
  push(@Artikelteil, $News[$x]);
  $x++;
}
print "@{$Artikel[0]}";

Ich vestehe den Sinn des Scriptes nicht ganz. Aber dein Problem ist vermutlich der Befehl:

push (@Artikel, @Artikelteil);

bedeutet: schreibe alle Elemente des Arrays @Artikelteil nacheinander in das Array @Artikel. Was du vermutlich willst ist aber

push (@Artikel, @Artikelteil);

Dies schreibt eine Referenz auf das Array @Artikelteil in @Artikel.
PERL kennt übrings auch for Schleifen ;-)

Grüße Peter