We don't bite newbies here... much | |
PerlMonks |
Re: intersecting two hashesby Athanasius (Archbishop) |
on Jan 26, 2016 at 07:56 UTC ( [id://1153649]=note: print w/replies, xml ) | Need Help?? |
Hello bsherkhane, As Anonymous Monk says, if this is a database question, then hashes aren’t needed. However, if you do have two hashes and want to find their intersection, just remember that the keys of a hash are accessible as a list via the Perl built-in keys function. So you really want the intersection of two lists, and this is an FAQ: see perlfaq4#How-do-I-compute-the-difference-of-two-arrays?-How-do-I-compute-the-intersection-of-two-arrays? Update: The logic is actually simpler with hashes: because each key can occur only once in a given hash, you only need to determine whether an entry corresponding to each key in the first hash exists in the second:
Output:
(Of course, you’ll have to decide what to do when the values differ. I’ve just included both values in an anonymous array.) Hope that helps,
In Section
Seekers of Perl Wisdom
|
|