use File::Monitor; my $monitor = File::Monitor->new(); $monitor->watch( { name => 'C:/Path', recurse => 1, callback => { files_created => sub { my ($name, $event, $change) = @_; print "@_"; } } } );