http://www.perlmonks.org?node_id=988916


in reply to Re^2: remove files from the V volume on windows
in thread remove files from the V volume on windows server 2008

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".
In the absence of evidence, opinion is indistinguishable from prejudice.

The start of some sanity?