Name Text::Diff::HTML - XHTML format for Text::Diff::Unified Synopsis use Text::Diff; my $diff = diff "file1.txt", "file2.txt", { STYLE => 'Text::Diff::HTML' }; my $diff = diff \$string1, \$string2, { STYLE => 'Text::Diff::HTML' }; my $diff = diff \*FH1, \*FH2, { STYLE => 'Text::Diff::HTML' }; my $diff = diff \&reader1, \&reader2, { STYLE => 'Text::Diff::HTML' }; my $diff = diff \@records1, \@records2, { STYLE => 'Text::Diff::HTML' }; my $diff = diff \@records1, "file.txt", { STYLE => 'Text::Diff::HTML' }; Description This class subclasses Text::Diff::Unified, a formatting class provided by the Text::Diff module, to add XHTML markup to the unified diff format. For details on the interface of the "diff()" function, see the Text::Diff documentation. In the XHTML formatted by this module, the contents of the diff returned by "diff()" are wrapped in a "<div>" element, as is each hunk of the diff. Within each hunk, all content is properly HTML encoded using HTML::Entities, and the various sections of the diff are marked up with the appropriate XHTML elements. The elements used are as follows: * "<div class="file">" This element contains the entire contents of the diff "file" returned by "diff()". All of the following elements are subsumed by this one. * "<span class="fileheader">" The header section for the files being "diff"ed, usually something like: --- in.txt Thu Sep 1 12:51:03 2005 +++ out.txt Thu Sep 1 12:52:12 2005 This element immediately follows the opening "file" "<div>" element. * "<div class="hunk">" This element contains a single diff "hunk". Each hunk may contain the following elements: * "<span class="hunkheader">" Header for a diff hunk. The hunk header is usually something like: @@ -1,5 +1,7 @@ This element immediately follows the opening "hunk" "<div>" element. * "<span class="ctx">" Context around the important part of a "diff" hunk. These are contents that have *not* changed between the files being "diff"ed. * "<ins>" Inserted content, each line starting with "+". * "<del>" Deleted content, each line starting with "-". * "<span class="hunkfooter">" The footer section of a hunk; contains no contents. * "<span class="filefooter">" The footer section of a file; contains no contents. You may do whatever you like with these elements and classes; I highly recommend that you style them using CSS. You'll find an example CSS file in the eg directory in the Text-Diff-HTML distribution. You will also likely want to wrap the output of your diff a "<pre>" element. See Also Text::Diff Algorithm::Diff Support This module is stored in an open repository at the following address: <https://svn.kineticode.com/Text-Diff-HTML/trunk/> Patches against SVN::Notify are welcome. Please send bug reports to <bug-text-diff-html@rt.cpan.org>. Author David Wheeler <david@kineticode.com> Copyright and License Copyright (c) 2005-2008 Kineticode, Inc. Some Rights Reserved. This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself.