Jer: Listennummer eines Objektes ausgeben.

Hi!
Ich suche eine möglichkeit in einer Liste ein Element suchen zu lassen und dann den index (z.B. $selfhtml[3]: [3] = $i oder so!) in einer variablen auszugeben.

Merci beaucoup
Jer

  1. Hi,

    Ich suche eine möglichkeit in einer Liste ein Element suchen zu lassen und dann den index (z.B. $selfhtml[3]: [3] = $i oder so!) in einer variablen auszugeben.

    was hast Du denn bisher versucht, und woran ist es gescheitert?

    Cheatah

    1. Hi,

      Ich suche eine möglichkeit in einer Liste ein Element suchen zu lassen und dann den index (z.B. $selfhtml[3]: [3] = $i oder so!) in einer variablen auszugeben.

      was hast Du denn bisher versucht, und woran ist es gescheitert?

      Cheatah

      hab den gesuchten Begriff mittels while schleife und zähler herausgesucht, mit dem ergebnis, dass er einfach bis zum kill-wert (war 20) hochgezählt hat und sonst nix gemacht hat:
      $i=0
      while (gesuchter ausdruck ne @liste[$i])
        { if ($i == 20)
             {exit;}
          else
             {$i++;}
      }
      print "$i\n";
      das is so in etwa der grobe aufbau.

      1. Hi,

        hab den gesuchten Begriff mittels while schleife und zähler herausgesucht, mit dem ergebnis, dass er einfach bis zum kill-wert (war 20) hochgezählt hat und sonst nix gemacht hat:

        while ist eher ungeeignet; für Arrays gibt es bessere Schleifentypen. Ungetestet:

        my $i;
        foreach (@liste) {
          last if ($liste[$i] eq $ausdruck);
          $i++;
        }

        Cheatah

        1. Hi,

          hab den gesuchten Begriff mittels while schleife und zähler herausgesucht, mit dem ergebnis, dass er einfach bis zum kill-wert (war 20) hochgezählt hat und sonst nix gemacht hat:

          while ist eher ungeeignet; für Arrays gibt es bessere Schleifentypen. Ungetestet:

          my $i;
          foreach (@liste) {
            last if ($liste[$i] eq $ausdruck);
            $i++;
          }

          Cheatah

          Danke für den Tip, werd ich gleich mal ausprobieren!

          Ciao
          Jer

        2. Hi,

          hab den gesuchten Begriff mittels while schleife und zähler herausgesucht, mit dem ergebnis, dass er einfach bis zum kill-wert (war 20) hochgezählt hat und sonst nix gemacht hat:

          while ist eher ungeeignet; für Arrays gibt es bessere Schleifentypen. Ungetestet:

          my $i;
          foreach (@liste) {
            last if ($liste[$i] eq $ausdruck);
            $i++;
          }

          Cheatah

          Hi!
          Jetzt gibt mir das Programm zwar ne Zahl aus, zählt aber immer nur die Einträge der Liste +1.

          MFG
          Jer

          1. Hi,

            last if ($liste[$i] eq $ausdruck);

            Jetzt gibt mir das Programm zwar ne Zahl aus, zählt aber immer nur die Einträge der Liste +1.

            dann ist vielleicht $liste[$i] eq $ausdruck niemals gegeben. Überprüf das mal, und denk auch daran, daß "xyz\n" ne "xyz" ist.

            Cheatah