0

私は自分のプログラムにこのサブを使用して、タスクがWindowsで行っていることを完了するまで最大数時間待機しています。Windows タスクが完了すると、テキスト ファイル内の文字列が更新され、Windows が完了したことが Linux スクリプトに通知されます。

実行中に次のエラーが発生します: readline() on closed filehandle

サブはこちら

my $numberOfChecks = 28;
my $sleepTime = 900;
my $communicationsFile = "/home/user/ICAhome/Win_To_Linux_ComFile.txt";
my $winBuild = "1";

sub waitForWindowsBuild {
    while ($numberOfChecks-- $$ $winBuild == "1"){
        open (MYFILE, $communicationsFile);

        while (<MYFILE>){
            chomp;
            if ($_ eq $buildValue){
                $winBuild="1";
            }

            sleep($sleepTime);
        }

        close(MYFILE);
    }
} 

誰が何が起こっているのか教えてもらえますか?

ありがとう!

4

1 に答える 1

1

openが成功するかどうかを確認します。例えば、

open (MYFILE, $communicationsFile)
   or die("Can't open $communicationsFile: $!\n");
于 2012-11-08T08:34:18.110 に答える