4
我正在編寫一個Perl腳本來監視文件的更改。Perl inotify2爲每個文件修改觸發兩次
#!/usr/bin/perl
use strict;
use Linux::Inotify2;
my $inotify = new Linux::Inotify2 or die $!;
my $filename = "/tmp/foo";
my $counter = 0;
$inotify->watch (
$filename,
IN_MODIFY,
sub {
++$counter;
print "changed: $counter\n";
}
) or die $!;
1 while $inotify->poll;
該處理器將被調用兩次(增加$計數器兩次)每次的/ tmp/foo的變化,如果我測試它像這樣:
echo abc > /tmp/foo
爲什麼?
'裸詞 「CLOSE_WRITE」 不允許而「嚴格subs「,儘管IN_MODIFY運行時沒有抱怨。是什麼賦予了? – spraff
請嘗試使用IN_CLOSE_WRITE –