in reply to Re: Hash assignments using map
in thread Hash assignments using map

Hi japhy

Not to beat a dead horse here, but to answer your question:

I'm checking the keys in another hash against those in %keepers. If a keys exists in this other hash, but NOT in %keepers, I want to eliminate it from the hash. See this node for further explanation.

Anyways, thanks for the clarification

njcodewarrior

Replies are listed 'Best First'.
Re^3: Hash assignments using map
by japhy (Canon) on Feb 25, 2007 at 14:03 UTC
    Right. My point is, why not loop over the elements in @keepers, rather than the keys of the other hash?
    my %big_hash = (...); my @to_keep = ('abc', 'xyz'); %big_hash = map { exists($big_hash{$_}) ? ($_ => $big_hash{$_}) : () } + @to_keep; # or %big_hash = map { $_ => $big_hash{$_} } grep { exists $big_hash{$_} } +@to_keep;

    Jeff japhy Pinyan, P.L., P.M., P.O.D, X.S.: Perl, regex, and perl hacker
    How can we ever be the sold short or the cheated, we who for every service have long ago been overpaid? ~~ Meister Eckhart