rlm@6: #!/usr/bin/perl rlm@6: rlm@6: use Linux::Inotify2; rlm@6: use AnyEvent; rlm@6: rlm@6: rlm@6: my $inotify = new Linux::Inotify2 rlm@6: or die "unable to create new inotify object: $!"; rlm@6: rlm@6: rlm@6: @org_files = glob("./org/*.org"); rlm@6: rlm@6: $" = "\n"; rlm@6: print "@org_files"; rlm@6: rlm@6: rlm@6: foreach(@org_files){ rlm@6: # add watchers rlm@6: $inotify->watch ($_, IN_MODIFY, sub rlm@6: { rlm@6: my $e = shift; rlm@6: my $name = $e->fullname; rlm@6: print "$name was modified\n" if $e->IN_MODIFY; rlm@6: ` rlm@6: rlm@6: }); rlm@6: rlm@6: rlm@6: rlm@6: rlm@6: } rlm@6: rlm@6: rlm@6: rlm@6: rlm@6: # integration into AnyEvent (works with EV, Glib, Tk, POE...) rlm@6: my $inotify_w = AnyEvent->io rlm@6: ( rlm@6: fh => $inotify->fileno, poll => 'r', cb => sub { $inotify->poll } rlm@6: ); rlm@6: rlm@6: # manual event loop rlm@6: 1 while $inotify->poll;