• # Hash ?

    Posté par (site web personnel) . En réponse au message Equivalent en Perl de Hashcode en Java. Évalué à 2.

    Ce qui est un début, mais pas le résultat final, loin s'en faut : pour les chaînes de caractères courtes ("short_string" par exemple), tout va bien et j'ai le même résultat en Perl et Java, mais quand la chaîne s'allonge, Perl continue d'incrémenter la valeur de $hash là où Java ne dépasse jamais la longueur max d'un long. Comment dire à Perl de se comporter autrement?

    Faudrait savoir, tu veux un hash modulo 2^(sizeof long) ou une sorte de polynôme dont les coefficients sont les valeurs des octets de la chaîne ?

    Si c'est le premier, à vue de nez il faudrait ajouter un $hash = $hash % (2 ** 64); à la fin du calcul (à vérifier, je me trompe peut-être de puissance de deux).