Softpedia
 


LINUX CATEGORIES:



GLOBAL PAGES >>
NEWS ARCHIVE >>
SOFTPEDIA REVIEWS >>
MEET THE EDITORS >>
WEEK'S BEST
  • Linux Kernel 3.9.3 / 3....
  • LibreOffice 3.6.6 / 4.0.3
  • MPlayer 1.1.1
  • systemd 204
  • Arch Linux 2013.05.01
  • Blender 2.67a
  • KDE Software Compilatio...
  • CrunchBang Linux Stable...
  • Elementary OS 0.1 / 0.2...
  • SystemRescueCd 3.6.0
  • Home > Linux > Programming > Libraries

    Algorithm::Diff 1.1902

    Download button

    No screenshots available
    Downloads: 567  View global page NEW!  Tell us about an update
    User Rating:
    Rated by:
    NOT RATED
    0 user(s)
    Developer:

    License / Price:

    Last Updated:

    Category:
    Mark-Jason Dominus | More programs
    Perl Artistic License / FREE
    June 28th, 2007, 10:05 GMT
    ROOT / Programming / Libraries

     Read user reviews (0)  Refer to a friend  Subscribe

    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,
    );

    Product's homepage

    Requirements:

    · Perl

      


    TAGS:

    compute differences | file differences | lists differences | Algorithm::Diff | compute | files

    Go to top

    WindowsGamesDriversMacLinuxScriptsMobileHandheldNews

    SUBMIT PROGRAM   |   ADVERTISE   |   GET HELP   |   SEND US FEEDBACK   |   RSS FEEDS   |   UPDATE YOUR SOFTWARE   |   ROMANIAN FORUM