我正在做某事,不久前我可能发誓这是你可以做的一件事,但是今天我在谷歌上搜索,找不到任何参考。
$StaementHandler->execute($val1, $val2, $val3) or {
SomeFunction($var1, $var2);
Setup::Abend("Can't execute SQL statement: $DBI::errstr");
}
所以我想知道是否有一种特殊的方法可以运行几件事而不只是死掉。
如果没有,我只是想确保这将产生相同的结果。
unless ($StaementHandler->execute($val1, $val2, $val3)) {
SomeFunction($var1, $var2);
Setup::Abend("Can't execute SQL statement: $DBI::errstr");
}
答案 0 :(得分:7)
您正在寻找or do {...}
。 or
仅能处理单语句表达式,do
接受一个块并将其转换为单语句表达式(从大括号之外的角度来看)。
而且,就我个人而言,我认为第二个选项通常(但并非总是)更具可读性。