bisher bin ich immer wie folgt vorgegangen, um eine bestimmte Spalte aus einer Zeile ausgeben zu lassen.
Scheiont du hast das mit den Referenzen dich nicht so ganz kapiert.
meine Schleife:
open(DT,"<Datei");
while(<DT>) {
my @part=split /;/,$_;
print "$part[1]\n";}
Nun finde ich das sehr umständlich. Gibt es eine bessere Methode, die richtige Spalte aus der Zeile zu ziehen? Ich hatte es mal mit push versucht, aber das habe ich leider nicht hinbekommen - zum Einen will push ein Array statt eine Variable und da kommen immer ARRAY{...}'s heraus :-)
push $daten [(split /;/)[1]],$_;
Nicht schlecht, aber falsch. Ob du für Daten einenen Skalar (als referenz) oder ein Array nimmst spielt erst mal keine Rolle. Wenn du das Array an Funktionen weitergeben willst, solltest du aber eine Referenz nehmen.
Was mache ich da falsch?
Du willst vermutlich:
my $daten = [];
while(<DT>) {
push @$daten, (split /;/, $_)[1];
}
Struppi.