Hi congmao (CC biopieces google group),
The ordering of elements in Perl hash is not stable (this is not a problem for the Biopieces written in Ruby where hash order is stable). So the hash order may be different between platforms and/or Perl versions. I see this can cause trouble with the test suite, but I guess we have been lucky so far, since noone have reported this problem before.
It is possible to make Perl hash order stable using Tie::IxHash, but I suspect that it will have some performance overhead. Also, it is a bit tricky to implement across all relevant Biopieces if we wanted a setting to use stable hashes for the test suite.
The simple solution would be to sort the keys in the records in the test suite, but then a fair amount of the expected output records also need sorting. Hm, I can probably cook up a diff_sort that will do it automatically. I'll think some more about it.
Cheers,
Martin