Beefy Boxes and Bandwidth Generously Provided by pair Networks
Come for the quick hacks, stay for the epiphanies.
 
PerlMonks  

Showing differences between two sequences

by merlyn (Sage)
on Sep 15, 2000 at 22:58 UTC ( [id://32718]=CUFP: print w/replies, xml ) Need Help??

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 +t>\n"}, }); __END__ 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:
We start. <font color=red>Let's</font> <font color=red>begin.</font> This is the <font color=red>old</font> <font color=green>new</font> text. <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> Then we end.
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?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: CUFP [id://32718]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others romping around the Monastery: (1)
As of 2024-04-19 18:30 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found