I was having problems with mystery errors thrown from Hash::Merge -- as reported in this bug rt.cpan.org/Public/Bug/Display.html?i... from 2010 -- so I switched to Hash::Merge::Simple.
source is readable and sane, and merge takes n parameters so I don't need to throw it in a reduce() call.
Not a review since I haven't used this particular module (I've used its big sister) but more a suggestion to other reviewers: If you find a bug or have a complaint, file a bug report! The link to the module's RT queue is right in the documentation page, on the right! This is not an old module, and I don't see any evidence that the author is missing or unresponsive.
Also, the docs clearly state, "NOTE: The code does not currently check for cycles, so infinite loops are possible"
Sure, I would want this to be in big bold at the top of the docs... but it's certainly not buried. If you want that feature so badly, file a bug report and/or send patches! Heck, file a report asking for the docs to be more clear about this limitation until it it resolved!
Most CPAN authors love learning that others are using their code and *want* to improve it. Give them the chance to do that and you might end up impressed!
- Already have Hash::Merge that does this and more if you need
- no way to set precedence rules or how to handle value types
- different results that what the standard Hash::Merge users are used to so it can;t be dropped in as a replacement
- "doesn't attempt to combine arrays, objects, scalars, or anything else"
no way to specifcy the behavior you want = more complexity of re-recursively checking your data again.
again, different results than Hash::Merge
- "The code does not currently check for cycles, so infinite loops are possible"
So you have to recursively sanitize the data that you're passing to be recursively merged or else you could bring down the process or even th eentire machine?
Its more "Complex" than "Simple"
---- in Replay to Jonathon's review ---
> This is a nice way to merge hashes. It has a few advantages over Dan's Hash::Merge.
> Firstly, it wasn't written by him.
Really? Seriously? Come on what is your problem? This is very unhelpful. Your reviews are seriously lacking. If I've dome something wrong let me know and I'll fix it, why be a jerk?
FYI, Hash::Merge wasn't written by me either, I just offered to be co maintainer so I could fix a bug and tidy up the code a bit.
> Secondly, the code in question has proven itself in thousands of production Catalyst applications.
*This* is helpful, good job.
> Finally, sometimes ::Simple is the way to do things. I don't want to devote thought to
> merging hashes, I just want it to happen
I tend to agree, however as I pointed out above its not so simple, there's a lot of other things you have to consider or you might end up in trouble.
2 hidden unhelpful reviews