So, basically the file you are trying to delete does not exist. Why do you think that is? (Hint: what do you see when you print $file within the loop?)
Your problem is that readdir returns the names of the files; not their full paths, so what your code is trying to do is delete a filename read from a path on your V: drive, from your current directory.
You need to combine the name returned from readdir, with the path you gave to opendir to get a full pathname.
Something like this might work:
...
foreach $file (readdir DH){
my $path = "$dir_to_process/$file";
unlink $path or warn "failed on $path: $!\n"
if -M $path > 14;
}
And for future reference, investigate glob which makes doing this sort of thing much easier.
With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
|