use Win32; use Win32::ChangeNotify; my $appdir = Win32::GetFolderPath(Win32::CSIDL_APPDATA); my $notify_dir = $appdir . '/Provider/Application/'; my $notify_file = $notify_dir . 'yourfile.txt'; my $notifyObj; if ( $notifyObj = Win32::ChangeNotify->new( $notify_dir, 0, "LAST_WRITE" ) ) { print "We have a notifyObj object\n"; $mw->repeat( 2000, \&checkNotify ); } else { print "Application not installed on this machine\n"; } sub checkNotify { my $rv = $notifyObj->wait(0); print "Found a change\n" if $rv == 1; $notifyObj->reset; if ($rv) { # DO what you need to do } }