有人能告诉我这条线在perl中应该做什么:
$result{$key} .= ";" if (exists($result{$key}));
Run Code Online (Sandbox Code Playgroud)
看起来它增加了";" 在密钥结束时,它已经存在,是真的吗?是否与在分配前使用"if"语句不同?
Perl允许您在之前或之后执行条件语句.
这是为了让你做以下事情:
return unless $configured;
exit if $bored;
print "Debug statement\n" if $debug;
while ( <STDIN> ) {
print if m/text/;
}
Run Code Online (Sandbox Code Playgroud)
所以是的,你是对的 - 这是一个有条件的附加,如果密钥存在,它将在值的末尾加上分号.(正如评论指出的那样-它不更改密钥)
它与以下内容没有什么不同:
if ( exists ( $result{$key} ) ) {
$result{$key} .= ';';
}
Run Code Online (Sandbox Code Playgroud)
通常,这是您使用的样式和可维护性问题.我通常建议避免它,因为它通常会使事情变得不那么清楚.(但并非总是如此 - 请参阅上面的几个例子).
| 归档时间: |
|
| 查看次数: |
132 次 |
| 最近记录: |