sub perlhash { $hash = 0; $hash = ($k % 10); return $hash; } while(($k , $v) = each(%ex)) { $hash = perlhash($k); $ch = $buckets[$hash]; print Dumper $buckets[$hash]; if(scalar @{$ch} == 0){ $entry = {$k => $v}; }else{ $entry = $ch->[0]; $entry->{$k} = $v ; } push @$ch , $entry; } print Dumper @buckets;