我遇到了以下遗留代码:
sub some_func {
my $val = $ENV{some_key} // '';
if ( length($val) ) {
return $val;
}
return 0;
}
通常我会认为这是错综复杂的,并重写为:
sub some_func {
return $ENV{some_key} || 0;
}
但是写这篇文章的程序员非常好。我错过了什么吗?
答案 0 :(得分:8)
原件:
其他所有东西都返回$ ENV {some_key}
重写:
其他所有东西都返回$ ENV {some_key}
因此,不存在重大差异,但在某些情况下确实如此(例如encode_json
)。不过,我认为差异是无意的。