什么是Perl相当于Ruby“foo”.hash?

时间:2010-01-09 23:16:16

标签: ruby perl hashcode

Ruby String上的hash方法根据字符串的长度和内容返回一个数字:

>> "foo".hash
=> 876516207

Perl中的等价物是什么?

3 个答案:

答案 0 :(得分:5)

如果要获取任意字符串的摘要,请查看CPAN上的Digest模块,该模块支持MD5和SHA1 / 2。您可以截断所需的多个字符的结果。

答案 1 :(得分:3)

您还可以查看Ruby源代码,了解如何为String对象生成哈希,以防您想在Perl中编写类似的东西。生成的哈希值是字符串长度和内容的函数,并在rb_str_hash()中计算。

答案 2 :(得分:2)

出于好奇,你打算用什么哈希?对于大多数用途,摘要模块可能已经足够好了,但在某些情况下您可能想要自己动手。很少见,但可能。