NAME
   Linux::Inotify - Classes for supporting inotify in Linux Kernel >=
   2.6.13

SYNOPSIS
   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.

DESCRIPTION
 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 contructor

      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
   Copyright 2005 by Torsten Werner <[email protected]>. The code is
   licensed under the same license as perl: perlgpl or perlartistic.