Well thought out module, however I have to give it a 2. It leaks memory like a sieve when using the simple() method. There is a patch for it in the bug tracker, I haven't tested it, but if you're hell bent on using this module with the simple() method, I'd suggest applying it.
I was using Hash::Merge::Simple, it was thrown a case where it fell into a deep recursion and took down one of our production machines. I switched to Hash::Merge, it handled the case perfectly. I'm not sure what is going on behind the scenes but Hash::Merge seems a bit more robust.