http://qs1969.pair.com?node_id=344100


in reply to find differences between multiple hashes

Here's a crude (but accurate) method of finding the differences. Reconstructing the required result is left as an exercise for the reader:)

#! perl -slw use strict; use Data::Dumper; use Algorithm::Diff qw[ diff ]; my $given = { 'Subtype' => [ { 'url' => 'http://www.google.nl/', 'title' => 'testNL' }, { 'url' => 'http://www.google.be/', 'title' => 'testBE' } ], 'name' => 'test1' }; my $retrieved = { 'Subtype' => [ { 'url' => 'http://www.google.nl/', 'title' => 'testNL' }, { 'url' => 'http://www.google.be/', 'title' => 'testBE' }, { 'url' => 'http://www.google.de/', 'title' => 'testBE' } ], 'name' => 'test2', 'type' => 'test2' }; =pod The result should be: $result = { 'Subtype' => [ { 'url' => 'http://www.google.de/', 'title' => 'testBE' } ], 'name' => 'test2', 'type' => 'test2' }; =cut print @$_ for map{ @$_ } diff( [ split "\n", Dumper( $retrieved ) ], [ split "\n", Dumper( $given ) ] ); __END__ 8:37:10.53 P:\test>344057.pl -9 }, -10 { -11 'url' => 'http://www.google.de/', -12 'title' => 'testBE' -15 'name' => 'test2', -16 'type' => 'test2' +11 'name' => 'test1'

Examine what is said, not who speaks.
"Efficiency is intelligent laziness." -David Dunham
"Think for yourself!" - Abigail

Replies are listed 'Best First'.
Re^2: find differences between multiple hashes
by iea (Beadle) on Jul 12, 2008 at 13:24 UTC
    ok i made it ... no idea why it didnt work in the first place. Thanks