NAME Linux::Inotify - Classes for supporting inotify in Linux Kernel >= 2.6.13 VERSION version 0.06 DESCRIPTION Linux::Inotify supports the new inotify interface of Linux which is a replacement of dnotify. Beside the class Linux::Inotify there two helper classes -- Linux::Inotify::Watch and Linux::Inotify::Event. class Linux::Inotify The following code use Linux::Inotify; my $notifier = Linux::Inotify->new(); returns a new notifier. my $watch = $notifier->add_watch('filename', Linux::Inotify::MASK); adds a watch to filename (see below), where MASK is one of ACCESS, MODIFY, ATTRIB, CLOSE_WRITE, CLOSE_NOWRITE, OPEN, MOVED_FROM, MOVED_TO, CREATE, DELETE, DELETE_SELF, UNMOUNT, Q_OVERFLOW, IGNORED, ISDIR, ONESHOT, CLOSE, MOVE or ALL_EVENTS. my @events = $notifier->read(); reads and decodes all available data and returns an array of Linux::Inotify::Event objects (see below). $notifier->close(); destroys the notifier and closes the associated file descriptor. class Linux::Inotify::Watch The constructor new is usually not called directly but via the add_watch method of the notifier. An alternative constructor. my $watch_clone = $watch->clone('filename'); creates an new watch for filename but shares the same $notifier and MASK. This is indirectly used for recursing into subdirectories (see below). The destructor $watch->remove() destroys the watch safely. It does not matter if the kernel has already removed the watch itself, which may happen when the watched object has been deleted. class Linux::Inotify::Event The constructor is not called directly but through the read method of Linux::Inotify that returns an array of event objects. An Linux::Inotify::Event object has some interesting data members: mask, cookie and name. The method $event->fullname(); returns the full name of the file or directory not only the name relative to the watch like the name member does contain. $event->print(); prints the event to stdout in a human readable form. my $new_watch = $event->add_watch(); creates a new watch for the file/directory of the event and shares the notifier and MASK of the original watch, that has generated the event. That is useful for recursing into subdirectories. AUTHOR Original author: Torsten Werner Current maintainer: Graham Ollis COPYRIGHT AND LICENSE This software is copyright (c) 2018-2022 by Torsten Werner . This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.