Daisuke Murase > Array-Diff-0.07 > Array::Diff

Download:
Array-Diff-0.07.tar.gz

Dependencies

Annotate this POD (1)

CPAN RT

New  2
Open  1
View/Report Bugs
Module Version: 0.07   Source  

NAME ^

Array::Diff - Find the differences between two arrays

SYNOPSIS ^

    my @old = ( 'a', 'b', 'c' );
    my @new = ( 'b', 'c', 'd' );
    
    my $diff = Array::Diff->diff( \@old, \@new );
    
    $diff->count   # 2
    $diff->added   # [ 'd' ];
    $diff->deleted # [ 'a' ];

DESCRIPTION ^

This module compares two arrays and returns the added or deleted elements in two separate arrays. It's a simple wrapper around Algorithm::Diff.

And if you need more complex array tools, check Array::Compare.

METHODS ^

new ()

Create a new Array::Diff object.

diff ( OLD, NEW )

Compute the differences between two arrays. The results are stored in the added, deleted, and count properties that may be examined using the corresponding methods.

This method may be invoked as an object method, in which case it will recalculate the differences and repopulate the count, added, and removed properties, or as a static method, in which case it will return a newly-created Array::Diff object with the properies set appropriately.

added ( [VALUES ] )

Get or set the elements present in the NEW array and absent in the OLD one at the comparison performed by the last diff() invocation.

deleted ( [VALUES] )

Get or set the elements present in the OLD array and absent in the NEW one at the comparison performed by the last diff() invocation.

count ( [VALUE] )

Get or set the total number of added or deleted elements at the comparison performed by the last diff() invocation. This count should be equal to the sum of the number of elements in the added and deleted properties.

SEE ALSO ^

Algorithm::Diff

AUTHOR ^

Daisuke Murase <typester@cpan.org>

COPYRIGHT AND LICENSE ^

Copyright (c) 2009 by Daisuke Murase.

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

The full text of the license can be found in the LICENSE file included with this module.

syntax highlighting: