>Народ, кто в перле шарит, помогите разобраться! >вот есть програмуля которая считает hash > >#!/usr/bin/perl -l >use Math::BigInt; >chomp($a = pop); >die "Usage: $0 <email address>\n" >unless defined $a; >$h = Math::BigInt->new(5381); >$h = ($h + ($h << 5)) & 0xffffffff ^ ord($_) > for split //, lc($a); >print 'hash value: ', $h % 53; > >напишите чайнику в перле формулу! для каждой буквы из email выполнить $h = ($h + ($h << 5)) & 0xffffffff ^ ord($_) где ord($_) код буквы, $h = 5381, операции из << & ^ в любого учебника результат очень большое число, сколько разрядов надо читать Math::BigInt на cpan.org
|