This manual page is for Mac OS X version 10.6

If you are running a different version of Mac OS X, view the documentation locally:

  • In Terminal, using the man(1) command

Reading manual pages

Manual pages are intended as a quick reference for people who already understand a technology.

  • For more information about the manual page format, see the manual page for manpages(5).

  • For more information about this technology, look for other documentation in the Apple Reference Library.

  • For general information about writing shell scripts, read Shell Scripting Primer.



Algorithm::DiffOld(3)                User Contributed Perl Documentation               Algorithm::DiffOld(3)



NAME
       Algorithm::DiffOld - Compute `intelligent' differences between two files / lists but use the old
       (<=0.59) interface.

NOTE
       This has been provided as part of the Algorithm::Diff package by Ned Konz.  This particular module is
       ONLY for people who HAVE to have the old interface, which uses a comparison function rather than a
       key generating function.

       Because each of the lines in one array have to be compared with each of the lines in the other array,
       this does M*N comparisions. This can be very slow. I clocked it at taking 18 times as long as the
       stock version of Algorithm::Diff for a 4000-line file. It will get worse quadratically as array sizes
       increase.

SYNOPSIS
         use Algorithm::DiffOld qw(diff LCS traverse_sequences);

         @lcs    = LCS( \@seq1, \@seq2, $comparison_function );

         $lcsref = LCS( \@seq1, \@seq2, $comparison_function );

         @diffs = diff( \@seq1, \@seq2, $comparison_function );

         traverse_sequences( \@seq1, \@seq2,
                            { MATCH => $callback,
                              DISCARD_A => $callback,
                              DISCARD_B => $callback,
                            },
                            $comparison_function );

COMPARISON FUNCTIONS
       Each of the main routines should be passed a comparison function. If you aren't passing one in, use
       Algorithm::Diff instead.

       These functions should return a true value when two items should compare as equal.

       For instance,

         @lcs    = LCS( \@seq1, \@seq2, sub { my ($a, $b) = @_; $a eq $b } );

       but if that is all you're doing with your comparison function, just use Algorithm::Diff and let it do
       this (this is its default).

       Or:

         sub someFunkyComparisonFunction
         {
               my ($a, $b) = @_;
               $a =~ m{$b};
         }

         @diffs = diff( \@lines, \@patterns, \&someFunkyComparisonFunction );

       which would allow you to diff an array @lines which consists of text lines with an array @patterns
       which consists of regular expressions.

       This is actually the reason I wrote this version -- there is no way to do this with a key generation
       function as in the stock Algorithm::Diff.



perl v5.10.0                                     2006-07-30                            Algorithm::DiffOld(3)

Reporting Problems

The way to report a problem with this manual page depends on the type of problem:

Content errors
Report errors in the content of this documentation to the Perl project. (See perlbug(1) for submission instructions.)
Bug reports
Report bugs in the functionality of the described tool or API to Apple through Bug Reporter and to the Perl project using perlbug(1).
Formatting problems
Report formatting mistakes in the online version of these pages with the feedback links below.