in reply to Lining up many hash values

As is noted in the perl documentation regarding hashes, the order that hash values will come out of a hash is not guaranteed. You should use keys() and then iterate over the keys (getting the value from each hash) to do your dotproducts. This will guarantee you are operating on the correct pairs of values.

Cheers