Thank you very much! I have setup the win32::readdirectorychangesw module on my hard drive by copying the pm file to the directory of perl. i tried the following code as you told me:
use strict;
use warnings;
use File::Copy::Recursive qw(fcopy rcopy dircopy fmove rmove dirmove);
use Win32::ReadDirectoryChangesW;
my $path = 'c:\\PAPER';
my $subtree = 1;
my $filter = FILE_ACTION_ADDED | FILE_ACTION_MODIFIED;
my $rdc = Win32::ReadDirectoryChangesW->new(path => $path,
subtree => 1,
filter => $filter);
my @results = $rdc->read_changes;
while (scalar @results) {
my ($action, $filename) = splice(@results, 0, 2);
if ($action == FILE_ACTION_ADDED || $action == FILE_ACTION_MODIFIED
+) {
# perform your backup here
fcopy ("$filename","p:\\phdpaper");
}
}
But i got a wrong message:
Bareword "FILE_ACTION_ADDED" not allowed while "strict subs" in use at C:\PAPER\1.pl line 9.
Bareword "FILE_ACTION_MODIFIED" not allowed while "strict subs" in use at C:\PAPER\1.pl line 9.
Bareword "FILE_ACTION_ADDED" not allowed while "strict subs" in use at C:\PAPER\1.pl line 21.
Bareword "FILE_ACTION_MODIFIED" not allowed while "strict subs" in use at C:\PAPER\1.pl line 21.
Execution of C:\PAPER\1.pl aborted due to compilation errors.
Then i delete the "use strict" script, runing...., but still got the following error:
Can't locate object method "new" via package "Win32::ReadDirectoryChangesW" (perhaps you forgot to load "Win32::ReadDirectoryChangesW"?) at C:\PAPER\1.pl line 11.
So, can you help me figure out what the problem was?
Thanks a lot!