Linux::Inotify2. Some sample code to get you started: Inotify2 findings.
Update: more (and specific) sample code:
#!/usr/bin/perl
use Linux::Inotify2;
my $inotify = Linux::Inotify2->new()
or die "unable to create new inotify object: $!";
$inotify->watch(
"/tmp", # directory to watch
IN_CREATE, # flags
sub { # callback routine
my $evt = shift;
my $name = $evt->fullname;
if (-d $name) {
print "directory $name has been created\n";
}
}
);
1 while $inotify->poll;
__END__
$ stty -tostop # just in case
$ ./753790.pl &
[1] 2590
$ mkdir /tmp/somedir
directory /tmp/somedir has been created
$