Метод hash для строки Ruby возвращает число на основе длины и содержимого строки:
>> "foo".hash => 876516207
Что такое эквивалент в Perl?
Если вы хотите получить дайджест произвольной строки, проверьте модуль Дайджест на CPAN, который поддерживает MD5 и SHA1 / 2. Вы можете усечь результат для любого необходимого количества символов.
Вы также можете взглянуть на исходный код Ruby, чтобы увидеть, как генерируется хеш для объектов String, если вы хотите написать что-то подобное в Perl. Результирующий хеш является функцией длины и содержимого строки и вычисляется в rb_str_hash () .
Просто из любопытства, для чего вы собираетесь использовать хеш? Модуль Digest, вероятно, достаточно хорош для большинства целей, но в некоторых случаях вы можете захотеть накатить свои. Редко, но возможно.