2

对我来说,这段代码是我对要解决的问题的看法

if ($b eq "" && $ok) {

} elsif ($b eq "" && !$ok) {
    print "ERROR1\n";

} else {
    print "ERROR2\n";
}

但它不是很漂亮,我想有一个空的if声明。

有没有办法避免这种情况?

4

2 回答 2

5

保留 if,但检查 $b

if ($b eq "") {
    if (!$ok) {
        print "ERROR1\n";
    }
}
else{
    print "ERROR2\n";
}
于 2013-08-16T10:46:03.737 回答
3

您只需要将逻辑更改为您想要的

if($b eq "" && !$ok){
    print "ERROR1\n";
}elsif( !$ok || $b ne ""){
    print "ERROR2\n";
}
于 2013-08-16T10:45:28.540 回答