我非常喜欢这种语法:
try_something() or warn "Cant do it";
之后如何添加更多命令or
?
例如,它在这段代码中很有用:
foreach (@array)
{
m/regex/ or {warn "Does not match"; next;} # this syntax is wrong
...
}
我发现的一种方法是
try_something() or eval {warn "Can't do it"; next;};
但我认为这是个坏主意。
最佳答案:
do
好于eval
。- 逗号运算符更好:
do_smth() or warn("Does not match"), next;
Nota bene: 括号是强制性的,warn
因此它next
不会被解析为它的参数之一。