in reply to Text (Version) Differencing
I have used Algorithm::Diff with great success. Just iterate over the blocks it generates and you can mark up each block how you see fit.
Ted Young