Algorithm::DiffAlgorithm::Diff is a Perl module to compute `intelligent' differences between two files / lists. | |
Download |
Algorithm::Diff Ranking & Summary
Advertisement
- License:
- Perl Artistic License
- Price:
- FREE
- Publisher Name:
- Mark-Jason Dominus
- Publisher web site:
- http://search.cpan.org/~tyemq/Algorithm-Diff-1.1902/lib/Algorithm/Diff.pm
Algorithm::Diff Tags
Algorithm::Diff Description
Algorithm::Diff is a Perl module to compute `intelligent' differences between two files / lists. Algorithm::Diff is a Perl module to compute `intelligent' differences between two files / lists.SYNOPSIS require Algorithm::Diff; # This example produces traditional 'diff' output: my $diff = Algorithm::Diff->new( @seq1, @seq2 ); $diff->Base( 1 ); # Return line numbers, not indices while( $diff->Next() ) { next if $diff->Same(); my $sep = ''; if( ! $diff->Items(2) ) { printf "%d,%dn", $diff->Get(qw( Min1 Max1 Max2 )); } elsif( ! $diff->Items(1) ) { printf "%d,%dn", $diff->Get(qw( Max1 Min2 Max2 )); } else { $sep = "---n"; printf "%d,%d,%dn", $diff->Get(qw( Min1 Max1 Min2 Max2 )); } print "< $_" for $diff->Items(1); print $sep; print "> $_" for $diff->Items(2); } # Alternate interfaces: use Algorithm::Diff qw( LCS LCS_length LCSidx diff sdiff compact_diff traverse_sequences traverse_balanced ); @lcs = LCS( @seq1, @seq2 ); $lcsref = LCS( @seq1, @seq2 ); $count = LCS_length( @seq1, @seq2 ); ( $seq1idxref, $seq2idxref ) = LCSidx( @seq1, @seq2 ); # Complicated interfaces: @diffs = diff( @seq1, @seq2 ); @sdiffs = sdiff( @seq1, @seq2 ); @cdiffs = compact_diff( @seq1, @seq2 ); traverse_sequences( @seq1, @seq2, { MATCH => &callback1, DISCARD_A => &callback2, DISCARD_B => &callback3, }, &key_generator, @extra_args, ); traverse_balanced( @seq1, @seq2, { MATCH => &callback1, DISCARD_A => &callback2, DISCARD_B => &callback3, CHANGE => &callback4, }, &key_generator, @extra_args, ); Requirements: · Perl
Algorithm::Diff Related Software