-2

elseパーツが実行されない理由がわかりません:

opendir (DIR_03, "$dir_01"."/"."$dir_02"."/"."$file");
@ANR=readdir(DIR_03);
close(DIR_03);
foreach my $anr_file (@ANR) { 
    chomp($anr_file);
    if( $anr_file ne "traces.txt" || 
        $anr_file ne "traces_system.txt" || 
        $anr_file ne "traces_SystemServer_WDT.txt") {
        return("TraceFileNotFound");
    } else {
        return("TraceFileFound");
    }
}
4

3 に答える 3

3
if($anr_file ne "traces.txt" || $anr_file ne "traces_system.txt" || $anr_file ne "traces_SystemServer_WDT.txt")
if($anr_file ne "traces.txt" && $anr_file ne "traces_system.txt" && $anr_file ne "traces_SystemServer_WDT.txt")

一般的な規則:等しくない - または - の組み合わせは、ほとんどの場合、間違っています。

(ここで、1neつが偽 (等しい) の場合、他は真であることが保証されているため、常にすべてが真です。)

于 2013-06-10T15:40:17.173 に答える