Indexabfrage bei Arrays
Stefan Strobl
- perl
0 Klaus Mock0 Benne
Hallo,
mir kommt meine Frage zwar banal vor, aber ich suche seit 2 Tagen in allen möglichen Quellen und finde nicht mal ansatzweise eine Antwort, daher:
Ich möchte in einer foreach Schleife den Index des Arrays abfragen, da das was ich brauche in der nächsten Zeile, somit im nächsten Feld (Scalar) des Arrays liegt. Einfach wäre es wenn ich über eine interne Variable den Index abfragen kann und dann den Index um eins hochzähle und diese Variable damit öffnen kann.
foreach $datfile (@datfile) {
if ($datfile =~/KAFH_FZ_IDENT/){
index abfragen und übergeben
}
}
$datfile[abgefragen Index+1] bearbeiten
kennt jemand diese intere Variable oder gibts die gar nicht.
Ich hoffe meine Frage ist nicht zu banal aber ich habe wirklich alle Dokus und FAQ durchsucht die ich finden konnte
Danke für Tips
Hallo,
kennt jemand diese intere Variable oder gibts die gar nicht.
Mir ist keine solche Variable bekannt. Aber da die Einführung einer Variable und deren schrittweise Inkrementierung ja nicht unbedingt zu den extrem komplizierten Programmieraufgaben gehören, sollte es durchaus im Bereich des Machbaren liegen, einen geeigneten Lösungsansatz zu finden;-)
Grüße
Klaus
Hallo
Ich möchte in einer foreach Schleife den Index des Arrays abfragen [...]
Wie Klaus schon sagte, ist auch mir solch eine Variable nicht bekannt. Iterierst du hingegen über eine Datei, kannst du die aktuelle Zeile mit $.
abfragen. Siehe perlvar
In deinem Fall würde ich folgendermaßen vorgehen:
for (0..$#datfile) {
if($datfile[$_] =~ /regexp/) {
do_something($datfile[$_+1]);
}
}
Das ist meiner Meinung nach etwas eleganter, als das mitschleppen einer Zählervariablen.
Gruß,
Benne