Beefy Boxes and Bandwidth Generously Provided by pair Networks
Don't ask to ask, just ask
 
PerlMonks  

Re: Re: Comparing hashes without sorting the keys

by DrHyde (Prior)
on Feb 19, 2004 at 12:26 UTC ( [id://330200]=note: print w/replies, xml ) Need Help??


in reply to Re: Comparing hashes without sorting the keys
in thread Comparing hashes without sorting the keys

You want it to return false when they match? Errm, why? Of course, if you really want to turn that around, I'd be happy to accept a patch, including documentation and tests, provided that it maintains backwards combatibility - so it has to be an option that the user explicitly turns on.
  • Comment on Re: Re: Comparing hashes without sorting the keys

Replies are listed 'Best First'.
Re: Re: Re: Comparing hashes without sorting the keys
by ysth (Canon) on Feb 19, 2004 at 14:44 UTC
    Just following the lead of things like cmp. Better yet, name the function to describe what it returns, e.g. "Differ" or "Match" (so
    if (Match($a,$b) or Differ($c,$d))
    does what it says.
Re: Re: Re: Comparing hashes without sorting the keys
by demerphq (Chancellor) on Feb 20, 2004 at 16:16 UTC

    You're the maintainer of Data::Compare? Interesting. Id very much like to chat with you about this module, specifically with regard to Data::Stream. I say this becuase I have considerable experience with this problem and actually wrote a considerable amount of unreleased code on the subject. I note that Data::Compare fails what I consider to be one of the nastiest test cases that exist in perl data structures. (Another test case is what I call the "dogpound" test originally posted by merlyn which afaik, only Data::Stream handles properly.) Don't feel bad, the only modules that don't fail this test are currently the (unreleased to cpan) Data::Stream and (the released to cpan) Data::BFDump (dont bother with the later, Data::Stream was specifically designed to replace Data::BFDump). Anyway, the test case is as follows:

    use Data::Compare; # this test is called "Scalar Cross" in both the Data::BFDump and Data +::Stream test sets my ($a,$x,$y)=([]); $x=\$y; $y=\$x; $a->[0]=\$a->[1]; $a->[1]=\$a->[0]; print Compare([$x,$y],$a); # infinte loop

    My email is on my homenode, id love to correspond with you about this subject if you're interested.


    cheers
    ---
    demerphq

      First they ignore you, then they laugh at you, then they fight you, then you win.
      -- Gandhi


      Mmmm, tasty bug reports!

      update: fixed in 0.09, will upload to CPAN shortly

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://330200]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others browsing the Monastery: (5)
As of 2024-04-24 00:41 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found