logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

Struct::Compare - Recursive diff for perl structures.

Author

       Ryan Davis <ryand-cmp@zenspider.com> Zen Spider Software <http://www.zenspider.com/ZSS/>

perl v5.36.0                                       2022-12-04                                       Compare(3pm)

Bugs/Needed Enhancements

       •   blessed references

           compare currently does not deal with blessed references. I need to look into how to deal with this.

Description

       Compares two values of any type and structure and returns true if they are the same. It does a deep
       comparison of the structures, so a hash of a hash of a whatever will be compared correctly.

       This is especially useful for writing unit tests for your modules!

License

       (The MIT License)

       Copyright (c) 2001 Ryan Davis, Zen Spider Software

       Permission is hereby granted, free of charge, to any  person  obtaining  a  copy  of  this  software  and
       associated  documentation  files (the "Software"), to deal in the Software without restriction, including
       without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense,  and/or  sell
       copies  of the Software, and to permit persons to whom the Software is furnished to do so, subject to the
       following conditions:

       The above copyright notice and this permission notice shall be included  in  all  copies  or  substantial
       portions of the Software.

       THE  SOFTWARE  IS  PROVIDED  "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
       LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO
       EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
       IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE  SOFTWARE  OR
       THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Name

       Struct::Compare - Recursive diff for perl structures.

Public Functions

       •   $bool = compare($var1, $var2)

           Recursively  compares $var1 to $var2, returning false if either structure is different than the other
           at any point. If both are undefined, it returns true as well, because that is considered equal.

Synopsis

           use Struct::Compare;
           my $is_different = compare($ref1, $ref2);

See Also