The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Diff::LibXDiff - Calculate a diff with LibXDiff (via XS)

VERSION

Version 0.05

SYNOPSIS

use Diff::LibXDiff;

my $string1 = <<_END_
apple
banana
cherry
_END_

my $string2 = <<_END_
apple
grape
cherry
lime
_END_

my $diff = Diff::LibXDiff->diff( $string1, $string2 )
my $bin_diff = Diff::LibXDiff->bdiff( $bin_string1, $bin_string2 )

# $diff is ...

@@ -1,3 +1,4 @@
 apple
-banana
+grape
 cherry
+lime

DESCRIPTION

Diff::LibXDiff is a binding of LibXDiff (http://www.xmailserver.org/xdiff-lib.html) to Perl via XS

LibXDiff is the basis of the diff engine for git

METHODS

$diff = Diff::LibXDiff->diff( $string1, $string2 )

Calculate the textual diff of $string1 and $string2 and return the result as a string

$patched = Diff::LibXDiff->patch( $original, $patch )

( $patched, $rejected ) = Diff::LibXDiff->patch( $original, $patch )

Calculate the patched string given an original string and a patch string

If the patching algorithm cannot place a hunk, it will return a second "rejected" result (if called in list context)

$bdiff = Diff::LibXDiff->bdiff( $bin1, $bin2 )

Calculate the binary diff of $bin1 and $bin2 and return result as a string

$bpatched = Diff::LibXDiff->bpatch( $original, $patch )

Calculate the patched binary given an original string and a patch string

AUTHOR

Robert Krimen, <rkrimen at cpan.org>

SEE ALSO

http://www.xmailserver.org/xdiff-lib.html

Algorithm::Diff

BUGS

Please report any bugs or feature requests to bug-diff-libxdiff at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Diff-LibXDiff. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

SUPPORT

You can find documentation for this module with the perldoc command.

perldoc Diff::LibXDiff

You can also look for information at:

ACKNOWLEDGEMENTS

COPYRIGHT & LICENSE

Copyright 2009 Robert Krimen, all rights reserved.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.