Union and Intersection operate on sets. If you want to operate on hashes you first have to define what you mean by that. Is it the intersection of the keys, the values or both? What would be the union of 'seqnum'=>43 and 'seqnum'=>44 (as you can't store two values with the same key) ?