Text::WordDiff::ANSIColor - ANSI colored formatting for Text::WordDiff


    use Text::WordDiff;

    my $diff = word_diff 'file1.txt', 'file2.txt';
    my $diff = word_diff \$string1,   \$string2,   { STYLE => 'ANSIColor' };
    my $diff = word_diff \*FH1,       \*FH2;       \%options;
    my $diff = word_diff \&reader1,   \&reader2;
    my $diff = word_diff \@records1,  \@records2;

    # May also mix input types:
    my $diff = word_diff \@records1,  'file_B.txt';


This class subclasses Text::WordDiff::Base to provide a formatting class for Text::WordDiff that uses ANSI-standard terminal escape sequences to highlight deleted and inserted text. This formatting class is the default class used by Text::WordDiff; see its documentation for details on its interface. This class should never be used directly.

Text::WordDiff::ANSIColor formats word diffs for viewing in an ANSI-standard terminal session. The diff content is highlighted as follows:


Deleted words will display in bold-faced red. The ANSI standard for strikethrough is also used, but since it is not supported by most terminals, likely will not show up.


Inserted words will display in bold-faced, underlined green.

All other content is simply returned.

See Also



This module is stored in an open repository at the following address:

Patches against Text::WordDiff are welcome. Please send bug reports to <>.


David Wheeler <>

Currently maintained by the developers of The Perl Shop <>.

Copyright and License

Copyright (c) 2005-2011 David E. Wheeler. Some Rights Reserved.

This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself.