in reply to comparing any two text files and writing the difference to a third file

I use Algorithm::Diff’s diff/sdiff for this kind of thing. I started to clean up some of my code for an example but I'm really not sure what you think the output file should look like. I only do text diffs for HTML display so I can use things like <span class="added">some</span> <span class="changed">test</span>. I don't know what that looks like without markup or if there is a formalized "diff" markup in *nix other than the >|< or patch output stuff and that doesn't seem appropriate here; and if it is appropriate here, perfectly good tools already exist to generate it.

The approach with the Algorithm::Diff routines would be to turn the files into arrays, either line-wise or word or character; whatever granularity you want.