0

我正在为我的 prgram 使用这个子程序来等待长达几个小时的任务来完成它在 Windows 上所做的事情。当 windows 任务完成时,它会更新文本文件中的字符串,让 Linux 脚本知道 Windows 已完成。

我在运行时收到此错误: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 回答