I have fairly large hash (some 10M keys) and I would like to delete some elements from it.
I usually don\'t like to use delete or splice, a
delete
splice
How about this:
my %to_delete; foreach my $key (keys %hash) { if (should_be_deleted($key)) { $to_delete{$key}++; } # add some other keys the same way... } delete @hash{keys %to_delete};