Perl module for three-way merge of textual data

Algorithm::Merge provides three-way merge and diff functions, complementing
the functionality offered by Algorithm::Diff (libalgorithm-diff-perl). Given
three sets of items, known as the original, left and right, this module can
take a three-way difference or merge them. Taking a difference provides an
array reference that is very similar to the behaviour of Algorithm::Diff. One
can also implement custom conflict resolution using the CONFLICT callback.