我发现自己经常写这样的代码:只有存在哈希值时,才能从哈希值中分配值的最简洁方法?
if ($optionalParamsRef->{verbosity}) {
$settingsHash{verbosity} = $optionalParamsRef->{verbosity};
}
然而,似乎很冗长重复$optionalParamsRef->{verbosity}
两次。有更短的路吗?
编辑:是的,我意识到这是检查真/假而不是'存在'。我正在寻找的是一个简洁的功能等同于此。
注意,这不是测试 “如果存在”。它会因“虚假”值而失败。 – Thilo
这种技术会将key'verbosity'(w/value undef)添加到$ optionalParamsRef(如果它尚不存在)。没有什么大不了的,如果你不在乎改变$ optionalParamsRef。 – ddoxey