I am writing a Perl script that monitors a file for changes.
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;
This handler is called twice (incrementing $ counter twice) every time / tmp / foo changes if I test it like this:
echo abc > /tmp/foo
Why?
source
share