http://www.perlmonks.org?node_id=105084


in reply to Finding Diff files in clear case

It's not clear to me what you're doing, but it sounds like you have the classic "diff3" situation, where a single file is changed to become two other files.

You may want to look at my Algorithm::Diff module. This can produce (among other things) an array of differences that can then be compared for their differences.

But note that this information contains line numbers, whose position will change as A and B change from the baseline. That is, the original difference may say insert this line after line 5 of file A. However, if you add an identical line to the beginning of both A and B and do the diff again, you will see an output that says to insert this line after line 6 of file A.

The only way I know to deal with this is to keep a baseline version of the A file, and do diffs with the newest versions of A and B, adjusting line numbers as needed.