Algorithm::DiffOld man page on Oracle

Man page or keyword search:  
man Server   33470 pages
apropos Keyword Search (all sections)
Output format
Oracle logo
[printable version]

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

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

       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.

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

       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).


	 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.16.3			  2006-07-30		 Algorithm::DiffOld(3)

List of man pages available for Oracle

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
Vote for polarhome
Free Shell Accounts :: the biggest list on the net