delete_if modifies the hash it's called in - do you want that behavior? or would select/reject be more appropriate?