Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer

Showing differences between two sequences

by merlyn (Sage)
on Sep 15, 2000 at 22:58 UTC ( #32718=snippet: print w/replies, xml ) Need Help??
Description: Use Algorithm::Diff to show the differences as color-coded HTML between two text sequences.
use Algorithm::Diff qw(traverse_sequences);

my ($old, $new) = split /\n--\n/, join "", <DATA>; # get strings

$_ = [split /\s+/, $_] for ($old, $new); # turn them into arrayrefs

traverse_sequences($old, $new, {
  MATCH => sub { print "$old->[shift]\n"},
  DISCARD_A => sub { print "<font color=red>$old->[shift]</font>\n"},
  DISCARD_B => sub { print "<font color=green>$new->[shift,shift]</fon

We start. Let's begin. This is the old text. Then we end.
We start. This is the new text.  And here's some stuff I added. Then w
+e end.

which produces:
<font color=red>Let's</font>
<font color=red>begin.</font>
<font color=red>old</font>
<font color=green>new</font>
<font color=green>And</font>
<font color=green>here's</font>
<font color=green>some</font>
<font color=green>stuff</font>
<font color=green>I</font>
<font color=green>added.</font>
which results in:
We start. Let's begin. This is the old new text. And here's some stuff I added. Then we end.
Replies are listed 'Best First'.
Beware Web Colors!
by chromatic (Archbishop) on Mar 03, 2002 at 18:17 UTC
    Sorry to raise the dead here, but one thing bears repeating. Since a large percentage (25%) of men are red-green colorblind, it's better to pick two highly different colors. I have to read the original and the modified lines to figure out what's changed -- both "change" colors look nearly the same to me.

    Update: I confused the incidence statistic with the inheritance probability. Read a good description of genetics and recessive traits to find out what I was thinking.

      While I agree that colorblindness is important (particularly for you), you are overstating the incidence rates by a factor of 3.

      A good description of the design problem and solutions may be found here.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: snippet [id://32718]
[clueless newbie]: Once again, many thanks!

How do I use this? | Other CB clients
Other Users?
Others having an uproarious good time at the Monastery: (8)
As of 2017-06-25 11:44 GMT
Find Nodes?
    Voting Booth?
    How many monitors do you use while coding?

    Results (567 votes). Check out past polls.