An open source solution would be ideal. The problem with the commercial products I've used is that while they're pretty solid, they all tend to have subtle bugs. With thousands of replicating nodes a few bugs translates into lots of questions regarding the state of the data. Because they're closed source, it's often difficult to understand what's really going on and get a real solution implemented.
Building this sort of system in perl, and have it be reliable is likely to be a pretty serious project.
Hence, I'm a SoPW and looking for some stable shoulders to stand on ;-)