[Thread Prev][Thread Next]   >Date Index >Thread Index

Re: Anzahl der Keys in einem Hash?

Eike . Grote - Fri Nov 16 16:13:54 2001

Hallo,

Quoting Stefan `Sec` Zehl <sec@42.org>:
> > On Fri, 16 Nov 2001, Wengatz Herbert wrote:
> > WH>Hat einer von euch eine schnelle (und 100% zuverlässige) Lösung um 
> > WH>festzustellen, *wieviele* Keys in einem Hash vorhanden sind?
> 
> An sich geht doch auch scalar(%bla)+0, oder?

Nein, das funktioniert nicht, da der erste Wert von scalar(%bla)
die Anzahl der verketteten Listen in der internen Hash-Darstellung
ist. Sobald die erste "Hash-Kollision" auftritt, ist dies nicht
mehr gleich der Anzahl der Keys. Beispiel:

  %a=(4 => 1, 10 => 1);
  print scalar(keys(%a)),"\n";
  print scalar(%a),"\n";
  print scalar(%a)+0,"\n";


Ciao, Eike
-- 
Eike Grote, ConSol Software GmbH, Muenchen

E-Mail: eike.grote@epost.de


Next: