Perl 如何在Windows上使用File::ChangeNotify?

Perl 如何在Windows上使用File::ChangeNotify?,perl,winapi,Perl,Winapi,我已在Windows系统上安装并尝试运行以下代码: my $watcher = File::ChangeNotify->instantiate_watcher ( directories => [ 'C:\files' ], filter => qr/\.txt$/ ); # # blocking while ( my @events = $watcher->wait_for_events(

我已在Windows系统上安装并尝试运行以下代码:

my $watcher =
     File::ChangeNotify->instantiate_watcher
         ( directories => [ 'C:\files' ],
             filter  => qr/\.txt$/
         );


 # # blocking
 while ( my @events = $watcher->wait_for_events() ) { print "new event"}
当我运行脚本并尝试创建一个新的
.txt
文件或修改
c:\files
下的
.txt
文件时,脚本没有打印任何内容。

如果我添加这一行,它对我有效(在linux上):

$| = 1;
然后我看到
新事件

请参阅:
$|
$OUTPUT\u AUTOFLUSH

以下是完整的代码:

use warnings;
use strict;
use File::ChangeNotify;

$| = 1;

my $watcher =
     File::ChangeNotify->instantiate_watcher
         ( directories => [ 'C:\files' ],
             filter  => qr/\.txt$/
         );


 # # blocking
 while ( my @events = $watcher->wait_for_events() ) { print "new event"}
更新:正如cjm敏锐地指出的那样,添加换行符可以作为
$\124;
的替代方案:

 while ( my @events = $watcher->wait_for_events() ) { print "new event\n"}
打印“新事件\n”