File::ChangeNotify(3) Watch for changes to files, cross-platform style


version 0.26


use File::ChangeNotify;
my $watcher =
( directories => [ '/my/path', '/my/other' ],
filter => qr/\.(?:pm|conf|yml)$/,
if ( my @events = $watcher->new_events() ) { ... }
# blocking
while ( my @events = $watcher->wait_for_events() ) { ... }


This module provides an API for creating a File::ChangeNotify::Watcher subclass that will work on your platform.

Most of the documentation for this distro is in File::ChangeNotify::Watcher.


This class provides the following methods:


This method looks at each available subclass of File::ChangeNotify::Watcher and instantiates the first one it can load, using the arguments you provided.

It always tries to use the File::ChangeNotify::Watcher::Default class last, on the assumption that any other class that is available is a better option.


Returns a list of all the loadable File::ChangeNotify::Watcher subclasses except for File::ChangeNotify::Watcher::Default, which is always usable.


Bugs may be submitted through the RT bug tracker <> (or [email protected] <mailto:[email protected]>).

I am also usually active on IRC as 'drolsky' on "irc://".


If you'd like to thank me for the work I've done on this module, please consider making a ``donation'' to me via PayPal. I spend a lot of free time creating free software, and would appreciate any support you'd care to offer.

Please note that I am not suggesting that you must do this in order for me to continue working on this particular software. I will continue to do so, inasmuch as I have in the past, for as long as it interests me.

Similarly, a donation made in this way will probably not make me work on this software much more, unless I get so many donations that I can consider working on free software full time (let's all have a chuckle at that together).

To donate, log into PayPal and send money to [email protected], or use the button at <>.


Dave Rolsky <[email protected]>



This software is Copyright (c) 2016 by Dave Rolsky.

This is free software, licensed under:

  The Artistic License 2.0 (GPL Compatible)