Array initalisierung mit fortlaufender Nummer

echelon

Grünschnabel
Hallo,

Über die Suche konnte ich leider ncihts finden... :(

Mein Problem ist folgendes, ich möchte die einzelnen Elemente eines Arrays aufteilen und in ein neues Array tun.
Allerdings habe ich das Problem bei der Initialisierung der Arrays, weil die einzelnen Elemente in ein Array sollen mit einer fortlaufenden Nummer(@array[0] = @zeile($x) )

Code:
.....
$x = 0;
until($x >= $lines) {
         
     @line($x) = @all[$x];
        $x++;
   }
....

Bei meiner Variante bemängelt er aber folgendes:
syntax error at pocsag.pl line 33, near "@line("
Execution of pocsag.pl aborted due to compilation errors.



Schonmal danke im vorraus!

echelon
 
Zuletzt bearbeitet:
Hallo echelon!

Wenn du mal in Zeile 33 vergleichst, wie du auf der linken Seite des Gleichheitszeichen und auf der rechten Seite des Gleichheitszeichen auf das Array zugreifst, wird dir sicher auffallen, dass du einmal eckige Klammern benutzt, was richtig ist in Bezug auf Arrays und einmal runde Klammern, was falsch ist im Bezug auf Arrays :)

Desweiteren solltest du wenn du keinen Array-Slice (also 2 oder mehr Elemente) aus dem Array holst, nicht mit dem @ arbeiten, sondern mit dem normalen $ für Variablen. Schlieslich handelt es sich nur um einen Sakalaren Wert den du aus dem Array haben möchtest.

Richtig wäre dein Code dann folgendermaßen:

Code:
.....
$x = 0;
until($x >= $lines) {
         
     $line[$x] = $all[$x];
        $x++;
   }
....

Schönen Tag noch!
 

Neue Beiträge

Zurück