Stefan Strobl: Indexabfrage bei Arrays

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

  1. 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

  2. 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

    --
    ie:% fl:( br:> va:) ls:> fo:| rl:° ss:) de:[ js:| ch:| mo:} zu:)