sub digestit { my $dbhash = shift; my $sth = shift; my %newdbhash = (); while ( $sth->fetchrow_arrayref ) { my $keydata = Digest::MD5->new; for my $key ( keys %{$dbhash} ) { %{$dbhash}->{$key} = '' unless ( defined(%{$dbhash}->{$key}) ); } $keydata->add(%{$dbhash}->{$_}) for @key; my $digest = $keydata->hexdigest; $newdbhash{$digest} = {%{$dbhash}}; } return %newdbhash; }