nikita: die Situation in de: 1 Million!

Gibt es eigentlich eine einfachere Möglichkeit die Anzahl der Elemente eines Arrays herauszukriegen, als ein Schleifchen zu binden und durchzuzählen?

Gruß
Cruz

  1. Hallo Cruz,

    Gibt es eigentlich eine einfachere Möglichkeit die Anzahl der Elemente eines Arrays herauszukriegen, als ein Schleifchen zu binden und durchzuzählen?

    Ja, gibt es, man weist einfach den Listennamen einem Skalar zu.

    Listenname z.B. "liste"
    Skalar z.B. "listlen"

    dann schreibst Du

    $listlen = @liste;

    Zum Ausdrucken gibt es sogar noch eine Extra-Funktion:

    print scalar(@liste);

    gibt die Länge der Liste aus.

    Viele Gruesse

    Beate Mielke

  2. Gibt es eigentlich eine einfachere Möglichkeit die Anzahl der Elemente eines Arrays herauszukriegen, als ein Schleifchen zu binden und durchzuzählen?

    Beate hat das wichtigste schon gesagt. "Kanonisch" wäre:
    my @hugo;
    ...
    $anz_hugo = $#hgo;

    ich fauler Sack erzwinge den Skalaren Kontext meist mit:
    $anz_hugo = @hugo + 0;

    schau' mal in man perfunc

    oder Buchtip: "Perl - Einführung, Anwendungen, Referenz" von Hajji (kein Tippfehler!) - Addison-Wesley

    Ciao
      K@rl

    1. $anz_hugo = $#hgo;

      sorry - type - meine natürlich $#hugo

      beachte: es wird ab Null gezählt!
      also:
      @hugo = wq(a b c d e);
      dann ist $#hugo == 4
      .. und $hugo[4] == $hugo[$#hugo] == "e"

      ... nicht daß am Ende noch was schief geht ;-)