#!perl -w use strict; require Win32::ChangeNotify; my($dir)= @ARGV; while(1) { $notify = Win32::ChangeNotify->new($dir,0,'FILE_NAME'); $notify->wait or warn "Something failed: $! / $^E\n"; sleep 10; # give the process writing the file some time for my $pdf (glob "$dir/*.pdf" ) { ; # we process all files here, because I'm lazy system(1, qq{"C:\\Program Files (x86)\\Adobe\\Reader 10.0\\Reader\\AcroRd32.exe" /t $pdf}); }; $notify->reset(); }