如何在Perl中找到哈希中的键数?

joe*_*joe 42 perl hash

如何查找散列中的键数,例如使用$#数组?

cha*_*aos 75

scalar keys %hash
Run Code Online (Sandbox Code Playgroud)

要不就

keys %hash
Run Code Online (Sandbox Code Playgroud)

如果你已经处于标量语境中,例如my $hash_count = keys %hash  或者   print 'bighash' if keys %hash > 1000.

顺便说一句,$#array没有找到元素的数量,它找到了最后一个索引. scalar @array找到元素的数量.

  • @Krish:`$#编曲+ 1`会给你的阵列IFF`$ [中元素的个数== 0`(见'的perldoc perlvar`) (4认同)
  • 当然,如果您在标量上下文中使用`keys`,例如在对标量的赋值或在条件中,您甚至不需要`scalar` 使这更简单。 (2认同)