Windows (または NTFS... または Perl が Windows で open を実装する方法... 正確にはわかりません) は、必須のロックを open() に組み込みます。ファイルを読み取り用に開くと、他のユーザーはそのファイルを書き込み用に開くことができなくなります。ファイルを書き込み用に開くと、他のユーザーはそのファイルを読み取りまたは書き込み用に開くことができなくなります。
読み取り用にファイルを開いたままにしているため、誰もログに書き込むことができません。それが起こっていると思います。File::Tail はおそらくこれを考慮していません。File::Tail は、アクティビティが見られない場合、時々ファイルハンドルを閉じて再度開くように見えるため、まったく機能しています。これによりロックが解除され、他のファイルが書き込めるようになります。
これをテストするには、ある Perl プロセスで読み取り用にファイルを開き、別の Perl プロセスで追加用に開きます。
これに対処する 1 つの方法は、ロック動作を制御できる Windows 固有の機能を使用してログ ファイルを開くことだと思います。 Win32::SharedFileOpenが問題のようです。
fsopen(my $fh, $file, 'r', SH_DENYNO) or
die "Can't read '$file' with no locks: $!\n";
これにより、ロックなしで読み取り用にファイルが開きます。残念ながら、残りの作業はあなたの責任です。perlfaqが役立つかもしれません。