The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Struct::Diff::MergePatch - JSON Merge Patch (rfc7396) for perl structures

Travis CI Coverage Status CPAN version

VERSION

Version 0.01

SYNOPSIS

    use Struct::Diff::MergePatch qw(diff patch);

    $old = {a => {b => 1,c => [0],  d => 5},f => 2};
    $new = {a => {b => 1,c => [0,1],e => 6},f => 2};

    $diff = diff($old, $new);
    # {a => {c => [0,1],d => undef,e => 6}}

    patch($old, $diff);
    # $old now equal to $new

EXPORT

Nothing is exported by default.

SUBROUTINES

diff

Calculate patch for two arguments:

    $patch = diff($old, $new);

Convert Struct::Diff diff to merge patch when single arg passed:

    $patch = diff(Struct::Diff::diff($old, $new));

patch

Apply patch.

    patch($target, $patch);

AUTHOR

Michael Samoglyadov, <mixas at cpan.org>

BUGS

Please report any bugs or feature requests to bug-struct-diff-mergepatch at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Struct-Diff-MergePatch. 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 Struct::Diff::MergePatch

You can also look for information at:

SEE ALSO

Struct::Diff, JSON::MergePatch, rfc7396

LICENSE AND COPYRIGHT

Copyright 2017 Michael Samoglyadov.

This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.

See http://dev.perl.org/licenses/ for more information.