in reply to Re: Re: Re: Fast Way to Combine Two Hashes
in thread Fast Way to Combine Two Hashes

all values for the keys of %set2 should be set to undef

They are undef, try this:

my %hash2; undef @hash2{qw(a b c)}; my %hash1; undef @hash1{qw(c d e)}; undef @hash2{keys %hash1}; print "$_ ",defined($hash2{$_})?"def\n":"undef\n" for keys %hash2;
This technique works great when you want undefined don't care about the values. If you want to preserve defined values, then you have to do something like what Zaxo has.

Update: corrected by mirod, anyway, this works great when working with sets and you don't care about the values.