Thank you - worked a treat.
At 09:00 01/02/2005 -0500, Bob Showalter wrote:
Mark Martin wrote: > Hi, > okay - straight out of the coobook : > > my @different = () > foreach (keys %hash1) > { > delete $hash1{$_} unless exists $hash2$_}; > push(@this_not_that,$_) unless exists $registered{$_}; > } > > easy to remove the different key from hash one and record the removed > item in @different. > > My question is how would you record the removed item in another hash > so that it has the original key and corresponding value? > > I've tried : > > %different = (); > foreach $key (keys %hash1) > { > $value = $hash1{$key}; > @different{$_} = $value unless exists $hash2{$_}; > }
You're using $_, but $key has the key
> > but I get all sorts of rubbish
delete() returns the thing(s) deleted, so
for my $key (keys %hash1) { $different{$key} = delete $hash1{$key} unless exists $hash2{$key}; }
-- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] <http://learn.perl.org/> <http://learn.perl.org/first-response>
-- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] <http://learn.perl.org/> <http://learn.perl.org/first-response>