How about this?
sub flatten {return "@_"}; if ( flatten(%hash1) eq flatten(%hash2) ) { print "equal\n" } else { print "not\n" }
This will compare the keys as well as the values, so if the same values are fixed to different keys then it should still return false. The 'stringification warning' above applies, i.e. this might have a problem with fractional numbers. Should be ok with strings and integers though.

andy.

PS If anyone can tell me how to get this hash-flattened-into-an-array behaviour without a sub, I'd be interested. I've been fiddling around with the syntax trying to get that.

PPS Can two hashes with identical keys and values ever store the keys in a different order? I've been assuming not, but if they can, then the above won't work reliably. Again, would be interested in info... or a pointer to the correct RTFM... on this.


In reply to andye Re: How to test equality of hashes? by andye
in thread How to test equality of hashes? by acser

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.