警告と厳密な警告を使用しています。 ActivePerl(ベンダー限定)バージョン5.8.0ビルド806警告メッセージWHILEループの条件として-e演算子を使用しています。
D:¥NIGHTLY¥SamJudNighlty_ABS.pl行589(数字の下にあるコードスニペット)で数値ne(!=)で未初期化値を使用する。
実際には、この構文がコードで頻繁に使用されるため、複数の行にこの警告が表示されます。このコードを継承し、それをクリーンアップしようとしています。これが問題であるかどうかはわかりませんが、それにフォローアップしたいと思っています。
私が研究してきたものから:「ファイルが存在しない場合は 『』真と偽のため、または未定義値の-eリターン1
587 $finFlag = $NightlyFlagPath . "\\FIN\\DONE";
588
589 while((-e $finFlag) != 1)
590 {
591 sleep(120);
592 print(PROGRESSFILE "\nWaiting for the Fin Nightly to finish" . getPCTime5());
593 }
あなたは正しい、と 'undef'値が '1'と比較されるポップを警告しています。そのような構造は意味をなさないので、 'until(-e $ finFlag){..}'や@zdimが書いたことができます。 –
'-e'は、ファイルが存在する場合は真の値を返し、エラーが発生した場合は(ファイルが存在しない場合は)' undef'を返します。 – ikegami